2016-09-20 4 views
0

Ich erstelle dynamische Sammlung in meiner Anwendung, aber ich bin nicht in der Lage, diese dynamische Sammlung zu holen, einzufügen und zu aktualisieren.Meteor Dynamic Collection Implementierung

Dynamische Sammlung erstellt, wenn ich einen Datensatz in einer anderen Sammlung einfüge. Zum Beispiel habe ich Personensammlung und möchte dynamische Sammlung von Aufgaben erstellen, um Aufgabendaten jeder Person dynamisch zu trennen.

Bitte helfen Sie mir, wie kann ich das gleiche in Meteor implementieren?

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

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

Meine Sammlung Name ist task_parentID.

Jetzt sollten Daten in task_parentID gespeichert werden, wobei parentID die eindeutige ID dieses Elternteils ist.

+3

Willkommen bei Stack Overflow! Könnten Sie bitte den Code teilen, den Sie bisher haben? – alexbt

Antwort

0

Nur um das Problem zu bestätigen- Sie möchten ein Dokument in Task Sammlung erstellt werden, wenn eine Sammlung erstellt werden soll für die Person?

Ich werde gegen thie Ansatz beraten und empfehlen Sie this folgen

erklären To: zwei Sammlungen erstellen - Tasks und Persons.

Das in Persons eingefügte Dokument hat eine eindeutige ID. Die Task kann eine Struktur wie diese:

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

Die assignedTo die _id des Dokuments in der Persons Sammlung enthalten wird.

Wenn Sie sortieren müssen, rufen Sie einfach das Abonnement als Tasks.find({assignedTo: _persons_Id}); und Sie erhalten alle Aufgaben unter der genannten Person.

+0

Nein Ich möchte eine neue "task_personId" -Auflistung dynamisch für ein neues Personendokument erstellen. Wenn ich eine Aufgabe dieser neuen Person hinzufüge, sollten die Aufgabendaten dieser Person in diese Sammlung task_persionId gehen. – sakshi

+0

Haben Sie den angegebenen Link überprüft? Es hat davon abgeraten, Sammlungen im laufenden Betrieb zu erstellen, da "Meteor" nicht dafür ausgelegt ist. Der effizientere Ansatz besteht darin, eine einzelne Sammlung zu erstellen und eine differenzierende ID zuzuweisen, wie ich es erwähnt habe, und auch in dem Link. – Ankit

+0

Ja, ich bin schon durch den Link gegangen. Eigentlich möchte ich aufgrund eines Sicherheitsproblems mit Kundendaten in einer separaten Sammlung umgehen, daher benötige ich diese Funktion in Meteor – sakshi

Verwandte Themen