如何从数据库中的每个集合中获取 N 个文档?

How to get N number of documents from each collection within a DB?

我正在使用以下 shell 脚本从数据库中的每个集合中获取前 5 个文档,但它仅返回最后一个集合中的 5 个文档。

var collections = db.getCollectionNames();
var count = 0;

for (var i = 0; i < collections.length; i++) {
  db.getCollection(collections[i]).find().limit(5).pretty();
}

您可以使用以下查询:

db.getCollectionNames().forEach(function(collectionName)
 {
   var doc = db[(collectionName)].find().limit(5);
   while ( doc.hasNext()) {
       printjson(doc.next());
   }
 });