mongodb - 在 Mongodb 中删除带有排序和限制的项目
问题描述
我可以使用下一个 sql 语句删除 mysql 中最新的 10 个项目。
DELETE FROM `mytable` order by id desc limit 10
是否可以在 Mongodb 中使用排序和限制做同样的事情?
我知道如何找到最后 10 个项目
db.collection.find({}).sort("id", -1).limit(10)
但我不确定如何一步删除项目。
解决方案
您可以分两步完成,如下所示:
const ids = db.collection.find({})
.sort("id", -1)
.limit(10)
.toArray()
.map(ele => ele._id);
db.collection.remove({_id: {$in: ids}})
推荐阅读
- regex - 如果两边都没有某些字符,则正则表达式匹配,但两边都不包含这些字符
- android - 空对象引用 Firebase 上的 int java.util.List.size()' 出错
- nlp - 如何在 NLP 中找到相似的名词短语?
- android - 速度问题 android wear
- windows - 在 azure vm 上操作时间
- c# - Https Post C#中的批量请求
- javascript - 尝试使用神殿 direct_upload 为 aws rails 5.2 实现拖放直接上传时出现问题
- docker - Landoop/fast-data-dev:无法建立到节点 -1 的连接
- docker - 在运行进程中使用 docker
- java - 如何将 compareTo 用于泛型。(
, ...)