|
remove({_id: {$lt: some_value}}) only removes one element, but remove({other_field: {$lt: some_value}}) removes all matching elements:
> db.testme.save({_id:1, _o:1})
> db.testme.save({_id:2, _o:2})
> db.testme.save({_id:3, _o:3})
> db.testme.save({_id:4, _o:4})
> db.testme.save({_id:5, _o:5})
> db.testme.remove({_id: {$lt: 4}})
> db.testme.find()
{"_id" : 2 , "_o" : 2}
{"_id" : 3 , "_o" : 3}
{"_id" : 4 , "_o" : 4}
{"_id" : 5 , "_o" : 5}
> db.testme.remove({_o: {$lt: 4}})
> db.testme.find()
{"_id" : 4 , "_o" : 4}
{"_id" : 5 , "_o" : 5}
|