3

コレクションに一連のフィルター(クエリ)を適用する必要があります。デフォルトでは、MongoDBは関数ANDに送信されたすべてのクエリに演算子を適用しfindます。全体ANDではなく、各クエリを順番に(1つずつ)適用する必要があります。つまり、最初のクエリを実行して一連のドキュメントを取得し、2番目のクエリを実行して最初のクエリの結果を取得する必要があります。

これは可能ですか?

db.list.find({..q1..}).find({..q2..}).find({..q3..});

それ以外の:

db.list.find({..q1..}, {..q2..}, {..q3..});

なぜこれが必要なのですか?

Bcoz、2番目のクエリは、コレクション全体に集計を適用するのではなく、最初のクエリの結果に集計関数を適用する必要があります。

4

1 に答える 1

2

はい、これは MongoDB で可能です。要件に従ってネストされたクエリを作成できます。私のアプリケーションでも、ネストされた MongoDb クエリを作成しました。SQL 構文に精通している場合は、これをSQL 構文のinと比較してください。

     select cname from table where cid in (select .....)

同様に、異なるコレクションに対してネストされた MongoDB クエリを作成することもできます。

于 2010-12-21T10:27:53.377 に答える