私のプロジェクトでは、コレクション内で検索するためにコレクション名が必要なパッケージを使用しています。 Meteor 1.3に移行したばかりで、このパッケージは動作しません。コードパッケージの使用ではMeteor 1.3でコレクション名のみを使用してコレクションを取得する方法は?
のようなもの:
const search = (collection_name) => {
let collection = this[collection_name]
...
}
は今コレクションはもうグローバルスコープではありません。 global[collection_name] = Collection
を私のlib/collections.js
に入れてコレクションを追加することができましたが、もっと柔軟なMeteor 1.3互換のパッケージに修正したいと思っています。
コレクション名のみを知っている場合、Mongo Collectionを入手する方法はありますか?
私はあなたが 'window [collectionName]'を実行できると信じています。http://stackoverflow.com/a/20785981/2805154 –
いいえ、できません。つまり、サーバー上で動作しないということです。そのため、私は 'グローバル'と言いました。 Meteor 1.3では、手動でグローバルスペースに追加する必要がありますが、これは良い解決策ではありません。それは、私のパッケージを使っているMeteor 1.3の各アプリケーション作成者がコレクションを手動でグローバルスペースに追加するよう強制します。 ES6モジュールを使用する主な考え方は、可能な限りグローバル化を避けることです。 – Jaro