3

ブラウザーで Meteor アプリのすべてのコレクションを一覧表示する方法を知りたいです。

基本的に、文書化されていないホストへの DDP 接続を使用する必要があり、すべてのコレクション名を知る必要があります。

のようなことを試しましたがMeteor.collectionsMeteor.default_connection.collectionsどれも機能しません。助言がありますか?

4

1 に答える 1

6

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()して、名前を含むすべてのコレクションの説明を取得します。

于 2015-10-11T00:33:11.947 に答える