C#MongoDB,从排序集合中删除前10名

时间:2012-04-27 07:11:29

标签: c# mongodb database

我有一个包含1000个项目的集合。我想按日期排序它们(SaveDateUtc字段)并删除它们中的前10个,所以我留下了我的收藏中的990个最新项目。

我可以做一个查找,然后删除,没问题,但如果我只用一个删除调用就可以做到这一点要好得多。但我找不到通过查询排序和设置前10名的方法。

所以我的问题是,我能在一次通话中这样做吗? (我正在使用C#驱动程序)

1 个答案:

答案 0 :(得分:0)

实际上有类似的问题:MongoDB find and remove - the fastest way

但不幸的是findAndUpdate不能受记录号限制。所以我的主张给你:

  • 您可以引入一些代理字段,以便将其用作查询字段
  • 您可以编写自己的java脚本服务器端函数,它将在服务器端执行此操作。好处 - 操作在服务器上完成,它是原子的。陷阱 - 它不适用于分片表。