2014-02-06 2 views
0

비슷한 질문을 보았습니다.하지만 제 시나리오는 조금 다릅니다. 나는이 같은 컬렉션을 정의하는 말 :이름으로 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

왜 사전에 컬렉션을 저장하지 않으시겠습니까? 그것은 방법보다 효율적입니다. 내가 추가 코드를 유지하지 않고 있지만, 제 생각에이 작업을 수행 할 수있는 방법을 찾고 있었다

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(); 
+0

나는 코드의 몇 가지 추가 라인의 오버 헤드가 내 방법을 outways 생각합니다. –

관련 문제