2016-08-24 3 views
0

私はN1qlを使い始めました。私はCouchbaseのN1qlチュートリアルに従っています。N1qlは配列と代替のパフォーマンスを結合します

与えられた文書(Userと言うことがあります)には、後で他の文書のID(配列を含む)が配列に含まれていることに気付きました。このソリューションは、ユーザーが何千もの参照を持つ状況に適していますか?

もしそうでない場合、代替手段は何ですか?すべてのユーザーとその注文(一部のユーザーは注文していない可能性があります)を見つける正しい方法は何でしょうか?

答えて

2

はい、他のデューデリジェンス/サイジングが気になる限り、適切である必要があります。いつものように、データモデルと関連するクエリは一緒に考慮する必要があります。たとえば、クエリが特定の配列要素に基づいている場合は、配列インデックスを使用できます。

  1. は、他の文書(非正規化)、又は
  2. 逆参照を埋め込む、注文文書は、対応するユーザ・ドキュメントへの参照を持っている:

    代替は、(データ・モデリングのための様々な要因に依存する)ことができます。 Couchbase 4.5 リリースから、N1QLは、USERがORDERを参照するかどうかにかかわらず、 のどちらの場合でも、 ユーザが注文するのに役立つLookup JOINs & Index JOINをサポートすることに注意してください。 http://developer.couchbase.com/documentation/server/4.5/n1ql/n1ql-language-reference/from.html#story-h2-3

-Prasad

関連する問題