在我的项目中,我使用需要集合名称的包在集合中进行一些搜索。我刚刚迁移到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