MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

So löschen Sie N-Nummern von Dokumenten in Mongodb

Sie können kein Limit festlegen, wenn Sie remove verwenden oder findAndModify . Wenn Sie also die Anzahl der entfernten Dokumente genau begrenzen möchten, müssen Sie dies in zwei Schritten tun.

db.collectionName.find({}, {_id : 1})
    .limit(100)
    .sort({timestamp:-1})
    .toArray()
    .map(function(doc) { return doc._id; });  // Pull out just the _ids

Übergeben Sie dann die zurückgegebene _id s zur Methode remove:

db.collectionName.remove({_id: {$in: removeIdsArray}})

FYI:Sie können keine Dokumente aus einer begrenzten Sammlung entfernen.