プロパティの配列(1〜400の異なる数値)を持つドキュメントがコレクションにあります。
ここで、これらのプロパティの1つを持つ別のコレクションのすべてのドキュメントを取得したいと思います(これらのドキュメントには1つのプロパティしかありません)。
どうすれば、できれば1回の呼び出しでそれを行うことができますか?
MongoDBはリレーショナルDBMSではないため、これを1回の呼び出しだけで実現することはできません。
あなたがする必要があるのは、最初にあなたがあなたの検索に使用したいあなたの文書を検索することです。それを取得すると、ドキュメントに格納されているその配列を使用して$in
、他のコレクションのフィールドでクエリを実行します。したがって、mongoシェルの場合、これは次のようになります。
var ar = db.coll1.findOne().numArray
db.coll2.find({b: { $in : ar }})