Bạn không thể đặt giới hạn khi sử dụng remove
hoặc findAndModify
. Vì vậy, nếu bạn muốn giới hạn chính xác số lượng tài liệu bị xóa, bạn cần thực hiện theo hai bước.
db.collectionName.find({}, {_id : 1})
.limit(100)
.sort({timestamp:-1})
.toArray()
.map(function(doc) { return doc._id; }); // Pull out just the _ids
Sau đó chuyển _id
trả về s đến phương thức loại bỏ:
db.collectionName.remove({_id: {$in: removeIdsArray}})
FYI:bạn không thể xóa tài liệu khỏi bộ sưu tập có giới hạn.