2016-09-20 11 views
0

私のアプリケーションで動的コレクションを作成していますが、動的コレクションを取得、挿入、更新できません。Meteor Dynamic Collection実装

レコードを別のコレクションに挿入するときに作成される動的コレクション。 たとえば、私は人物コレクションを持っており、すべての人のタスクデータを動的に分離するための動的なタスクコレクションを作成したいと考えています。

どのように私は流星で同じを実装できますか?

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

私はチエニルアプローチに対してアドバイスし、あなたが説明するためにthis

に従ってくださいお勧めします: 2つのコレクションを作成 - TasksPersonsを。

Personsに挿入されたドキュメントには一意のIDが割り当てられます。

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

assignedToPersonsコレクション内のドキュメントの_idが含まれています:Taskは、このような構造を持つことができます。

ソートする必要がある場合は、サブスクリプションをTasks.find({assignedTo: _persons_Id});と呼び出すだけで、その人の下にすべてのタスクが表示されます。

+0

いいえ新しいPerson_documentに対して動的に新しい "task_persionId"コレクションを作成したいと思います。その新しい人のタスクを追加するとき、その人のタスクデータはそのコレクションtask_persionIdに入るべきです。 – sakshi

+0

私が言及したリンクをチェックしましたか? 「流星」はそれのために設計されていないので、その場でコレクションを作成することに反対することが勧められています。より効率的なアプローチは、単一のコレクションを作成し、私が言及しているように、そしてリンク内でも、異なるIDを割り当てることです。 – Ankit

+0

はい私はすでにそのリンクを通過しています。実際にはセキュリティ上の問題があるため、クライアントデータを個別のコレクションで処理したいので、Meteor – sakshi

関連する問題