問題タブ [n1ql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
nested - ソファベースでのクエリの実行時間が長すぎる
私はcouchbaseを初めて使用し、N1QLを使用していくつかのクエリを実行していますが、多くの時間がかかります(9分) 私のデータには200.000のドキュメントがあり、ドキュメントにはネストされたタイプがあり、ドキュメント内のネストされたタイプの数は6.000.000です200.000 ドキュメント間で分散されているため、UNNEST 操作は重要です。私のデータの1つのサンプルは次のとおりです。
私がやっているクエリの1つは次のとおりです。
データには上記のフィールドがあります。ただし、実行には 9 分かかります。私はそれを行うために自分のコンピューターのみを使用しているため、ノードは 1 つだけです。私のコンピューターには 16 GB の RAM があり、クラスター RAM コタは 3.2 GB で、3 GB のバケットが 1 つだけです。私のデータの合計サイズは 2.45 GB です。ここに記載されている計算を使用しました: http://docs.couchbase.com/admin/admin/Concepts/bp-sizingGuidelines.htmlクラスターとバケットのサイズを設定します。私は何か間違ったことをしていますか、それともこの量のデータに対して今回は正しいですか?
今のところ、次のようなインデックスを作成しました。
しかし、データベースはそれを使用しません。
クエリの例は次のとおりです。
別の例として、インデックスを作成しました。
と尋ねた:
プライマリ インデックスを削除したため、実行されません。エラーを返す: "キースペース部分にプライマリ インデックスがありません。CREATE PRIMARY INDEX を使用して作成してください。",
json - json データの配列内の複数のパラメーターを更新する n1ql クエリ
以下は、couchbase のサンプル ドキュメント ( userdetails ) です。
「会社」をもとに、「名」と「姓」を変更したい
N1ql クエリ (単一パラメーター (firstname) を更新するため)
上記のクエリは完全に機能します。
しかし、2つのパラメーター(名、姓)を更新するためのクエリを書くのに苦労しています
N1ql クエリ (2 つのパラメーターを更新する)
上記のクエリは、「姓」のみを更新しています。
出力
query-optimization - 「子が満足するアイテム」に対する一見単純なcouchbaseクエリの最適化
私は、couchbase を使用して翻訳を保存するシステムを開発しています。
バケットには、次のような約 15,000 のエントリがあります。
そして、例として、「テストベンダー/テストプロジェクト/注文済み」の「documentPath」で分類されたすべてのメッセージを見つけたいと思います。
私はこのクエリを使用します:
しかし、クエリの実行に 2 秒かかることに非常に驚いています。
クエリ実行プランを見ると、couchbase がすべてのメッセージをループしてから、"documentPath" でフィルタリングしているようです。
最初に「documentPath」をフィルタリングして(実際にはクエリに一致する documentPath が 2 つしかないため)、メッセージを見つけたいと思います。
「分類」のインデックスを作成しようとしましたが、何も変わりませんでした。
インデックスの設定に何か問題がありますか?それとも、データを別の方法で構造化して迅速に結果を取得する必要がありますか?
それが問題なら、私はcouchbase 4.5ベータを使用しています。
n1ql - パラメータ値がnullの配列からデータを削除するn1qlクエリ
以下は、couchbase のサンプル ドキュメント (userdetails) です。
会社名に基づいて、それぞれの json ドキュメントを配列から削除したいと考えています。
n1ql クエリ
上記のクエリを使用してjsonデータを削除できません。
null 値ではなく 空の文字列 ( "lastname" : " " )がある場合、このクエリは適切に機能します。
したがって、パラメーター値のいずれかが「null」の場合、削除する方法
json - N1QL: 既存のcouchbaseドキュメントに新しいオブジェクトを追加
N1QL を使用することは可能ですか?
たとえば、私はこれを持っています:
そして、N1QL を使用してコメントに砂糖を追加すると、次のようになります。 { "コメント": "水", "user_id": 790 }, { "コメント": "砂糖", "user_id": 14 } ] }
私はこれを試しました:
この:
couchbase - Couchbase N1QL 結合クエリ
Couchbase 環境でのクエリについて助けが必要です。
ドキュメント 1 とドキュメント 2 の両方が同じバケットにあります。
最初に、クエリは次のクエリを使用してドキュメント message1 を取得します。
次に、ドキュメント 2 からユーザー名を取得する必要があります。上記のクエリを使用して、特定のドキュメント名からユーザー名を取得する結合ステートメントを作成するにはどうすればよいですか?
概要
ドキュメント 1 ドキュメント名 = メッセージ1
ドキュメント 2 ドキュメント名 = user1