【发布时间】:2025-12-12 02:50:02
【问题描述】:
我有一个包含 1000 个项目的集合。我想按日期对它们进行排序(SaveDateUtc 字段)并删除其中的前 10 个,所以我的收藏中只剩下 990 个最新项目。
我可以先查找,然后再删除,没问题,但如果我可以只调用 Remove 就更好了。但我找不到通过查询排序和设置前 10 名的方法。
所以我的问题是,我可以在一个电话中做到这一点吗? (我使用的是 C# 驱动程序)
【问题讨论】:
我有一个包含 1000 个项目的集合。我想按日期对它们进行排序(SaveDateUtc 字段)并删除其中的前 10 个,所以我的收藏中只剩下 990 个最新项目。
我可以先查找,然后再删除,没问题,但如果我可以只调用 Remove 就更好了。但我找不到通过查询排序和设置前 10 名的方法。
所以我的问题是,我可以在一个电话中做到这一点吗? (我使用的是 C# 驱动程序)
【问题讨论】:
其实也有类似的问题:MongoDB find and remove - the fastest way
但不幸的是findAndUpdate 不能被记录数限制。所以我对你的建议:
【讨论】: