2017-06-01 79 views
1

我目前正在使用它,但它刪除了具有相同名稱的所有文檔。從貓鼬集合中刪除最新創建的文檔

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

您如何識別最新文檔?你有時間戳字段嗎?如果是,你可以使用類似'db.collection.findOneAndDelete( {name:「some name」}, {sort:{「ts」:-1}} ) – Veeram

回答

2

在新的MongoDB的版本(3.2以上版本)有一個findOneAndDelete方法,所以在mongoshell你可以撥打:

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

如果使用MongoDB的IDS,它有一個時間戳這會工作「baked-在'。否則,你需要一些其他的時間字段進行排序。

你也可以使用this方法與Mongoose(從你的文章我不能確定你確定使用哪個mongodb客戶端)。