2016-06-13 8 views
0

Wie kann ich es so machen in meiner Meteor Web App, wenn ein Dokument eingefügt wird, löscht eine Funktion alle vorherigen Einfügungen automatisch in die Datenbank. Hier ist der Code Ich habe versucht, aber es wird nicht funktionieren:Wie entferne ich ein Dokument in Mongodb basierend darauf, ob es ein Dokument gibt, das neuer ist

if(SearchLobby.find({profile: Meteor.userId()}).count() > 1){ 

    var date1=SearchLobby.find().limit(1).sort({$natural:-1}).createdAt; 

    if(SearchLobby.find({profile: Meteor.userId()}).createdAt != date1) 
    SearchLobby.remove({profile: Meteor.userId()}); 
} 

Nicht wirklich sicher, wie sonst über das tun dies zu gehen, ich habe nicht wirklich dies erwarten zu arbeiten.

Antwort

1

Ich würde mit Meteor Collection Hooks mit before.insert -Hook gehen. Auf dem Server tun:

SearchLobby.before.insert(function(userId, doc) { 
    SearchLobby.remove({profile:Meteor.userId()}); 
}); 
+0

Dies stürzt meine App, wenn ich es auf dem Server ... irgendwelche Ideen warum? es sagt Call-Methode der Einfügung ist undefined – dmkanerer

+0

Haben Sie das Paket installiert? 'Meteor add matb33: Sammlung-hooks' – Althenis

+0

das hat funktioniert, danke! – dmkanerer

Verwandte Themen