Při použití remove
nelze nastavit limit nebo findAndModify
. Pokud tedy chcete přesně omezit počet odebraných dokumentů, budete to muset udělat ve dvou krocích.
db.collectionName.find({}, {_id : 1})
.limit(100)
.sort({timestamp:-1})
.toArray()
.map(function(doc) { return doc._id; }); // Pull out just the _ids
Poté předejte vrácené _id
s na metodu odebrání:
db.collectionName.remove({_id: {$in: removeIdsArray}})
Pro informaci:nemůžete odstranit dokumenty z omezené kolekce.