I have a list of mongo '_id' which I want to delete. Currently I am doing this
# inactive_users --> list of inactive users for item in inactive_users: db.users.remove({'_id' : item})
but my problem is the list is too huge... (it might go 100,000 +). So querying for every item in list will only increase the load on server. Is their a way to pass the entire list in mongo query so that I dont have to fire query again and again.
Thank you
To delete all documents in a collection, pass an empty document ( {} ). Optional. To limit the deletion to just one document, set to true . Omit to use the default value of false and delete all documents matching the deletion criteria.
You can accomplish this by using the command deleteMany.
To skip records in MongoDB, use skip(). With that, to display only a specific number of records, use limit().
db.users.deleteMany({'_id':{'$in':inactive_users}})
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With