我想知道如何在浏览器中列出 Meteor 应用程序的所有集合。
基本上,我需要使用未记录的 DDP 连接到某个主机,并且需要知道所有集合名称。
我已经尝试过类似的东西Meteor.collections
,Meteor.default_connection.collections
但它们都不起作用。有什么建议么?
每当创建集合时,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()
获取所有集合的描述,包括它们的名称。