在浏览器控制台查看所有集合

View all collections in the browser console

我想知道如何在浏览器中列出 Meteor 应用程序的所有集合。

基本上,我需要使用未记录的 DDP 连接到某个主机,并且需要知道所有集合名称。

我尝试过 Meteor.collectionsMeteor.default_connection.collections 之类的方法,但其中 none 行得通。有什么建议吗?

Mongo 的 local_collection_driver 会在创建集合时更新 DDP 连接上的对象。它可以通过 <connection>._mongo_livedata_collections 访问,它的键是集合的名称。

_.keys(Meteor.connection._mongo_livedata_collections)

DDP 连接本身在一个名为 _stores 的对象中管理其存储,并且可以通过类似方式访问:

_.keys(Meteor.connection._stores)

但是,此 API 是私有的且未记录,将来可能会更改。一种更简洁的方法是使用提供此类功能的包:dburles:mongo-collection-instances.

然后,使用 Mongo.Collection.getAll() 获取所有集合的描述,包括它们的名称。