2

バケット内の特定の JSON ドキュメントを検索しようとしていますが、そのドキュメント ID がわかりません。わかっているのは、サブキーの 1 つの値だけです。私はAPIドキュメントに目を通しましたが、私の特定のユースケースに関してはまだ混乱しています:

mongo では、次のような動的クエリを実行できます。

bucket.get({ "name" : "some-arbritrary-name-here" })

カウチベースでは、インデックスを作成し (たとえば name プロパティで)、startKey / endKey を使用する必要があるという印象を受けましたが、これは間違っているように感じます - それでも複数のドキュメントが返される可能性はありますか? 完全一致を実行できるパラメータをビューに渡すことができれば便利です。また、多次元検索をどのように処理しますか? つまり、名前とカテゴリです。

アプリ層に戻ったときにフィルタリングするのではなく、couchbase インスタンスで可能な限り多くのフィルタリングを行い、理想的には 1 つのレコードに絞り込みたいと考えています。動的な値をマッピング関数に渡し、一致するドキュメントのみを発行するようなものです。

LINQをcouchbaseで使用してフィルタリングできることは知っていますが、ドキュメントを正しく読んだ場合、このフィルタリングはクライアント側で行われますが、少なくとも返されたデータセットを適切なサブセットに絞り込むことができれば、クライアント側のフィルタリングはそうではありませんそんなに大したことになる。

乾杯

4

1 に答える 1

0

JSON ドキュメントのコンテンツに対してクエリを実行できるようにするには、ビュー (実際にはインデックス) を作成する必要があります。

したがって、この種のコードでビューを作成する必要があります。

function (doc, meta) {
 if (doc.type == "youtype") { // just a good practice to type the doc
   emit(doc.name);
 }
}

これにより、クラスターのすべてのノードに分散されたインデックスが作成され、アプリケーションで使用できるようになります。「キー」パラメーターを使用して特定の値を指すことができます

于 2013-02-07T13:08:27.720 に答える