按名称获取Meteor集合对象实例

时间:2014-02-06 08:26:46

标签: meteor

我见过类似的问题,但我认为我的情况有点不同。假设我定义了一个这样的集合:

MyCol = new Meteor.Collection("myCol"

我希望使用字符串'myCol'来获取对'MyCol'的引用 - 我创建了下面的函数似乎可以工作:

function GetCollectionObject(name) {
    for(var key in window) {
        var value = window[key];
        if (value instanceof Meteor.Collection) {
            if (value._name == name) {
                return value;
                    break;
            }
        }
    }
    return null;    
}

这是唯一/最好/最有效的方法吗?

1 个答案:

答案 0 :(得分:1)

为什么不将收藏品存储在字典中?它的方式更有效率。

Dogs = new Meteor.Collection('dogs');
Cats = new Meteor.Collection('cats');
Alpacas = new Meteor.Collection('alpacas');

MyCollections = {
    dogs: Dogs,
    cats: Cats,
    alpacas: Alpacas,
};

...

MyCollections['dogs'].doSomething();