2016-06-23 1 views

答えて

1

コレクション名とクエリドキュメントのリストを指定すると、各コレクションを反復してクエリするループを使用できるようにクエリを構成できます。ループ内で、各クエリの結果を最終的な配列に追加することができます。最後の配列には、クエリに一致するコレクションのすべてのドキュメントが含まれます。あなたが名前がわからない場合

var results = [], 
    collectionList = ["users", "clients", "students"], 
    query = { "first_name": "John" }; 

collectionList.forEach(function (collectionName){ 
    var result = db.getCollection(collectionName).find(query).toArray(); 
    results = results.concat(result); 
}); 

printjson(results); 

は、例えば乗り、このモンゴシェルスクリプトは、結果の配列にコレクションごとにfind()クエリの結果を追加し、collectionListを反復しますすべてのコレクションの事前に、あなたは、コレクション名のリストを返すシェル法db.getCollectionNames()使用することができます。

var results = [], 
    collectionList = db.getCollectionNames(), 
    query = { "first_name": "John" }; 

collectionList.forEach(function (collectionName){ 
    var result = db.getCollection(collectionName).find(query).toArray(); 
    results = results.concat(result); 
}); 

printjson(results); 
0

db.collection.find()は正常に動作するはずです。 パラメータなしのfind()メソッドは、コレクションからすべてのドキュメントを返し、ドキュメントのすべてのフィールドを返します。 https://docs.mongodb.com/manual/reference/method/db.collection.find/

+0

まあ、私の答えは具体的にあなたの質問に答えていません。リンクを確認してください。 – alchemist95

関連する問題