Wie aktualisiert man eine Mongo.db-Sammlung in meteor.js?

8

Ich habe eine Sammlung, die ich aktualisieren muss, wenn der Benutzer eine Schaltfläche drückt. Ich muss nur eine Variable in eine andere ändern.

In der Konsole funktioniert diese Codezeile:

%Vor%

Aber wenn ich diesen Code einfüge:

%Vor%

in meine JavaScript-Datei für Meteor.js, tut es überhaupt nichts (ich bekomme keine Fehlermeldung, und ich sehe die Warnung, aber das Update funktioniert einfach nicht).

Ich habe die Meteor Dokumentation über Updates gelesen, aber ich kann es einfach nicht funktionieren lassen. Weiß jemand, was ich hier falsch mache?

    
Ian Wise 01.08.2014, 23:16
quelle

3 Antworten

9

Das Problem wurde gefunden.

Seit ich meine Datenbank in meiner lib.js Datei definiert habe

users = new Meteor.collection("users");

Ich muss keine db vor die db.users.update({_id : "Jack"},{...}) setzen. Ich muss das Dokument auch mit dem gegebenen Mongo _id finden, nicht mit dem Bezeichner "username" .

Also wäre der entsprechende Code

%Vor%     
Ian Wise 02.09.2014, 21:10
quelle
0

In mongodb müssen Sie einen Aktualisierungsoperator verwenden (zB: $set ). Andernfalls wird Ihr Dokument durch das Update-Objekt überschrieben, das Sie übergeben ( Ich bin mir nicht sicher, dass Sie das wollen ). Ich denke, es funktioniert in Meteor. Also musst du so etwas tun:

%Vor%     
user405398 01.08.2014 23:28
quelle
0

Dies ist möglicherweise nicht das Problem, da Sie angegeben haben, dass Sie keine Fehlermeldung erhalten, aber um sicher zu sein: Haben Sie dem Benutzer bereits erlaubt, Dokumente in der Benutzersammlung zu aktualisieren?

Etwas wie:

(in Sammlungen / permissions.js)

%Vor%

})

    
Jaspermid 03.08.2014 10:39
quelle

Tags und Links