我是MongoDB和nodejs的新手。我有一个要求,我需要根据此要求提取mongo数据库中的所有文档。我发现了许多代码,这些代码使我可以从数据库中的集合中获取所有文档,但是没有代码可以一次性获取数据库中的所有文档。 游标可以用于此吗? 以下是我找到的代码:
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:port/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("mydb");
dbo.collection("customers").find({}).toArray(function(err, result) {
if (err) throw err;
console.log(result);
db.close();
});
});
我想获取“ mydb”下的所有文档,而不仅仅是“集合”下的文档。最终输出应该是其中包含文档JSON的JSON。
注意:“ mydb”的多个集合下的所有文档均采用相同的json格式。
答案 0 :(得分:2)
您必须分别查询每个collection
并将它们连接在一起,您如何看待这样的事情:
var dataFromAllCollections = [];
const collections = db.getCollectionNames();
for(var i = 0; i< collections.length; i++){
dataFromAllCollections.concat(db.getCollection(collections[i]).find());
}