如何将所有 Meteor Mongo 集合名称检索为 Javascript 数组?

Posted

技术标签:

【中文标题】如何将所有 Meteor Mongo 集合名称检索为 Javascript 数组?【英文标题】:How to retrieve all Meteor Mongo collection names as Javascript array? 【发布时间】:2016-04-06 00:03:53 【问题描述】:

我尝试使用:

MongoInternals.defaultRemoteCollectionDriver().mongo.db.listCollections()

为了获取流星数据库中的所有集合名称,但它返回一个很长的 JSON,我在其中找不到纯集合名称。 (见附图)

如何获取以下格式的流星集合名称:

["test1", "test2", "users"...]

【问题讨论】:

listCollections 返回一个MongoCollection,您将对其进行迭代,调用.getNamespace() 来获取名称。请注意,您看到的返回值是不是 JSON,而是控制台对对象的解释,因此项目如[Function] @PaulS。感谢您清除此信息,我将根据此信息实现代码。 【参考方案1】:

好的,这是工作代码,谢谢@PaulS。

db = MongoInternals.defaultRemoteCollectionDriver().mongo.db;
collections = db.listCollections();

collections.each(function(n, collection)
  if(collection)
    console.log( collection.name );
  
);

【讨论】:

以上是关于如何将所有 Meteor Mongo 集合名称检索为 Javascript 数组?的主要内容,如果未能解决你的问题,请参考以下文章

当我们从 Mongo 控制台更新集合时,Meteor Apollo 没有更新 UI

Mongo ID 到 Meteor Mongo ID

Mongo在Meteor Server上插入后如何等待观察者调用

Mongo - 从对象更新集合的每个文档

如何将meteor.js db 导入远程mongo

Mongoose - 检索到的文档中没有“_id”属性