sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur man tar bort N antal dokument i mongodb

Du kan inte sätta en gräns när du använder remove eller findAndModify . Så om du vill begränsa antalet borttagna dokument exakt måste du göra det i två steg.

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

Skicka sedan det returnerade _id s till borttagningsmetoden:

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

FYI:du kan inte ta bort dokument från en begränsad samling.



  1. 6 bästa MapReduce Job Optimization Techniques

  2. Node mongoose hitta fråga i loop fungerar inte

  3. Gruppera och räkna efter månad

  4. Är dokumentorienterade databaser tänkta att ersätta relationsdatabaser?