2017-06-01 2 views
1

Ich verwende derzeit, aber es entfernt alle Dokumente mit dem gleichen Namen.Entfernen Sie das zuletzt erstellte Dokument aus der Mungo-Sammlung

Reservation.remove({name:req.body.name}, function(err) { 
    if (err) throw err; 
}); 
+0

Wie identifizieren Sie das neueste Dokument? Haben Sie ein Zeitstempelfeld, das Sie verwenden? Wenn ja, können Sie etwas wie 'db.collection.findOneAndDelete ( {Name:" irgendein Name "}, {sort: {" ts ": -1}} )' verwenden – Veeram

Antwort

2

In neueren Versionen mongodb (3.2+) gibt es eine findOneAndDelete Methode, so in mongoshell Sie nennen könnte:

db.collection.findOneAndDelete({}, {sort: {_id: -1}}) 

dies funktionieren würde, wenn Sie mongodb IDs verwenden, die einen Zeitstempel ‚haben baked- im'. Ansonsten benötigen Sie ein anderes Zeitfeld zum Sortieren.

Sie können auch verwenden this Ansatz mit Mongoose (von Ihrem Beitrag kann ich nicht sicher sagen, welche mongodb Client Sie verwenden).

Verwandte Themen