2012-04-27 63 views
0

我有一個包含1000個項目的集合。我想按日期對它們進行排序(SaveDateUtc字段),並刪除其中的前10個,因此我剩下的是我收藏中的990個最新項目。C#MongoDB,從排序集合中刪除前10名

我可以做一個查找然後一個刪除,沒問題,但是如果我只用一個刪除調用就可以做得更好。但我找不到排序和設置前10個查詢的方法。

所以我的問題是,我可以在一個電話中做到這一點? (我使用C#的驅動程序)

回答

0

其實有類似的問題:MongoDB find and remove - the fastest way

但不幸的是findAndUpdate不能被記錄的數量進行限制。所以,我主張給你:

  • 您可能會出臺一些替代領域,所以你可以在查詢中使用它作爲場
  • 你可以寫你自己的Java腳本的服務器端功能,將做服務器端此操作。好處 - 操作在服務器上完成,它是原子的。陷阱 - 它不適用於分片表。