首页 > 解决方案 > 在 Mongodb 中删除带有排序和限制的项目

问题描述

我可以使用下一个 sql 语句删除 mysql 中最新的 10 个项目。

DELETE FROM `mytable` order by id desc limit 10

是否可以在 Mongodb 中使用排序和限制做同样的事情?

我知道如何找到最后 10 个项目

db.collection.find({}).sort("id", -1).limit(10)

但我不确定如何一步删除项目。

标签: mongodbpymongo

解决方案


您可以分两步完成,如下所示:

const ids = db.collection.find({})
                     .sort("id", -1)
                     .limit(10)
                     .toArray()
                     .map(ele => ele._id);

db.collection.remove({_id: {$in: ids}})

推荐阅读