Подтвердить что ты не робот

Монго удалить последние документы

Я хотел бы знать, как удалить, например, последние 100 документов, вставленных в мою коллекцию.

Как это возможно из оболочки?

4b9b3361

Ответ 1

Вы можете использовать _id для сортировки по последнему вставленному, как указано в ответе здесь:

db.coll.find().sort({_id:-1}).limit(100);

Он выглядит как, используя ограничение на стандартную операцию удаления mongo, не поддерживается, поэтому вы можете использовать что-то вроде этого, чтобы удалить 100 документы:

for(i=0;i<100;i++) {
    db.coll.findAndModify({query :{}, sort: {"_id" : -1}, remove:true})
}

Подробнее см. docs для findAndModify.