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