2016-03-19 9 views
0

Dieser Meteor-Code ruft den Client eine Meteor-Methode auf. Auf dem Server wird dann versucht, ein Dokument in die Sammlung ActiveTaskCol einzufügen.
Dann eine Beobachtung ändert Setup, so dass wenn das Dokument eingefügt wird, ein console.log(fieldName) wird ausgelöst in der added: Eigenschaft des Beobachters.Serverfunktion Aufruf am Dokument Änderungen beobachten

Ich bin ahnungslos, warum ich diesen Serverfehler bekomme. Dank

Error: Match error: Failed Match.OneOf or Match.Optional validation

ActiveTaskCol = new Mongo.Collection('activeTaskCol'); 
 
ActiveTaskCol.before.insert(function (userId, doc) { 
 
    doc.userId = Meteor.userId(); 
 
    doc.createdAt = Date.now(); 
 
}); 
 
var activeTaskQuery = ActiveTaskCol.find({},{limit: 1, sort: -1}); 
 
var activeTaskHandle = activeTaskQuery.observeChanges({ 
 
    added: function (id, action) { 
 
    console.log(action); 
 
    } 
 
});

Antwort

1

Ich denke, das Problem mit der Art Syntax sein könnte. Vielleicht var activeTaskQuery = ActiveTaskCol.find({},{limit: 1, sort: {createdAt:-1}}); versuchen


aber es stellt sich heraus, die nächste Zeile auf dem Client fehlschlagen wird, da dies in minimongo nicht implementiert wurde, aber dies könnte das tun, was Sie wollen:

var activeTaskQuery = ActiveTaskCol.find({}); 

var activeTaskHandle = activeTaskQuery.observeChanges({ 
    addedBefore: function (id, action) { 
    console.log(action); 
    } 
}; 
+0

Ihre Lösung gibt Konsole Fehler : Uncaught Error: muss den Befehl "observed" (dh "addedBefore" anstelle von "added") mit "skip" oder "limit" verwenden –

+0

Das ist lustig. Ich habe es dann nicht verstanden, als ich es versuchte. Welche Meteor-Version benutzt du? – Alex028502

+0

Ich betreibe Meteor Version 1.2.1 –

Verwandte Themen