C# MongoDB,从排序集合中删除前 10 个
本文关键字:删除 集合 MongoDB 排序 | 更新日期: 2023-09-27 18:32:28
我有一个包含 1000 个项目的集合。我想按日期(SaveDateUtc 字段(对它们进行排序并删除其中的前 10 个,所以我的收藏中只剩下 990 个最新项目。
我可以先查找,然后删除,没问题,但是如果我只需一个删除调用就可以做到这一点,那就更好了。但是我找不到通过查询对前 10 名进行排序和设置的方法。
所以我的问题是,我可以在一个电话中做到这一点吗?(我正在使用 C# 驱动程序(
实际上也有类似的问题:MongoDB查找和删除 - 最快的方法
但不幸的是,findAndUpdate
不能受到记录数量的限制。所以我对你的建议:
- 您可以引入一些代理项字段,以便可以将其用作查询中的字段
- 您可以编写自己的 java 脚本服务器端函数,该函数将在服务器端执行此操作。好处 - 操作在服务器上完成,它是原子的。陷阱 - 它不适用于分片表。