【问题标题】:Fetch all documents of a database in MongoDB using nodejs使用nodejs获取MongoDB中数据库的所有文档
【发布时间】:2018-12-14 00:36:50
【问题描述】:

我对 MongoDB 和 nodejs 都很陌生。我有一个要求,我需要在 mongo 数据库中获取所有文档。我发现许多代码可以让我从 DB 的集合中获取所有文档,但没有代码可以一次性获取 DB 的所有文档。 游标可以用于此吗? 以下是我找到的代码:

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”下的所有文档,而不仅仅是“customers”集合下的文档。最终输出应该是一个 JSON,其中包含文档 JSON。

注意:“mydb”多个集合下的所有文档都是相同的json格式。

【问题讨论】:

标签: node.js json mongodb


【解决方案1】:

您必须分别查询每个collection并将它们连接在一起,您如何看待这样的事情:

var dataFromAllCollections = [];
const collections = db.getCollectionNames();
for(var i = 0; i< collections.length; i++){    
   dataFromAllCollections.concat(db.getCollection(collections[i]).find());
}

【讨论】:

  • 谢谢,这让我朝着正确的方向前进,虽然我使用 listCollections() 而不是 getCollectionNames(),但后者已被弃用...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多