2016-09-20 112 views
0

我在我的應用程序中創建動態收集,但我無法獲取,插入和更新該動態收集。流星動態收集實施

當我在不同的集合中插入記錄時創建的動態集合。 例如我有個人收藏,並且想要創建動態收集任務以動態分離每個人的任務數據。

請幫我一下,我該如何在流星中實現它?

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

歡迎來到Stack Overflow!你能分享一下迄今爲止的代碼嗎? – alexbt

回答

0

只是爲了確認問題 - 您想在Task集合中創建一個文檔,以便爲該集合創建該集合Person

我會勸告反對thie的做法,並會建議您按照this

爲了解釋: 創建兩個集合 - TasksPersons

插入Persons的文檔將具有唯一的ID。該Task可以有這樣的結構:

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

assignedTo將包含文檔的_idPersons收藏。

當您需要排序時,只需撥打訂閱Tasks.find({assignedTo: _persons_Id});,您將獲得該人員下的所有任務。

+0

否我想根據新的Person文檔動態創建一個新的「task_persionId」集合。當我添加新人的任務時,該人員的任務數據應該在該集合task_persionId中。 – sakshi

+0

你檢查了我提到的鏈接嗎?它建議不要在飛行中創建集合,因爲「流星」不是爲它設計的。更有效的方法是創建一個集合並分配一個有區別的id,就像我之前提到的那樣,並且也在鏈接中。 – Ankit

+0

是的,我已經通過該鏈接。其實我想處理客戶端數據在單獨收集由於一些安全問題,所以我需要這個功能在流星 – sakshi