2016-09-20 3 views
0

내 응용 프로그램에 동적 컬렉션을 만들고 있지만 동적 컬렉션을 가져오고 삽입하고 업데이트 할 수 없습니다.Meteor Dynamic Collection Implement

다른 컬렉션에 레코드를 삽입 할 때 동적 컬렉션이 만들어집니다. 예를 들어 사람 컬렉션이 있고 모든 사람의 작업 데이터를 동적으로 분리하는 작업의 동적 컬렉션을 만들고 싶습니다.

유성에서 어떻게 구현할 수 있습니까?

var collectionCache = {}; 
function create_collection(name) { 
    collectionCache[name] = new Mongo.Collection(name); 

    Meteor.publish(collectionCache[name], function() { 
     return global[collectionCache[name]].find(); 
    }); 
} 

내 컬렉션 이름은 task_parentID입니다.

이제 데이터는 task_parentID에 저장되어야합니다. 여기서 parentID은 해당 부모의 고유 ID입니다.

+3

스택 오버플로에 오신 것을 환영합니다! 지금까지 가지고있는 코드를 공유해 주시겠습니까? – alexbt

답변

0

문제를 확인하기 위해 - Task 컬렉션에 문서를 만들려면 해당 컬렉션을 만들 때 Person?

나는 THIE 방법에 대해 조언을 받고 설명하기 위해 this

에 따라 추천합니다 : 두 개의 컬렉션을 생성 - TasksPersons을.

Persons에 삽입 된 문서는 고유 한 ID를 갖습니다. assignedToPersons 컬렉션 문서의 _id이 포함됩니다

{ _id : //unique ID 
//other fields 
assignedTo: //_id of the Person to whom the task is assigned 
} 

다음 Task이 같은 구조를 가질 수있다.

정렬이 필요하면 구독을 Tasks.find({assignedTo: _persons_Id});으로 호출하면 해당 사람 아래의 모든 작업이 수행됩니다.

+0

아니요 새 사용자 문서에 대해 동적으로 새 "task_persionId"컬렉션을 만들고 싶습니다. 그 새 사람의 작업을 추가 할 때 그 사람의 작업 데이터는 해당 작업 task_persionId에 있어야합니다. – sakshi

+0

내가 언급 한 링크를 확인 했습니까? '유성 (meteor)'이 그것을 위해 설계되지 않았기 때문에 즉석에서 컬렉션을 만드는 것에 반대하는 것이 좋습니다. 보다 효율적인 접근 방법은 단일 콜렉션을 생성하고 언급 한 것과 차별화 된 ID를 할당하는 것입니다. – Ankit

+0

예 이미 해당 링크를 통과했습니다. 사실 저는 보안 문제로 인해 클라이언트 데이터를 별도의 컬렉션으로 처리하기를 원하므로 Meteor – sakshi

관련 문제