0
假設一個具有下列文件集:如何獲取MongoDB中最新的文檔?
{
_id: 0,
data: 'foo',
createdAt: Tue Sep 30 2014 17:00:00 GMT-0300 (BRT)
}
{
_id: 1,
data: 'foo',
createdAt: Tue Sep 30 2014 18:00:00 GMT-0300 (BRT)
}
{
_id: 2,
data: 'foo',
createdAt: Tue Sep 30 2014 18:00:00 GMT-0300 (BRT)
}
{
_id: 3,
data: 'bar',
createdAt: Tue Sep 30 2014 18:00:00 GMT-0300 (BRT)
}
我怎樣才能盡在「一次操作」最近{data: 'foo'}
文件?在這種情況下,帶有_id
1
和2
的文檔。
我不知道有多少元素,所以我不能做:
db.coll.find({data: 'foo', createdAt: ???})
或:
db.coll.find({data: 'foo'}).sort({createdAt: -1}).limit(???);
我知道的唯一方法有兩個步驟:
var d = db.coll.find({data: 'foo'}).sort({createdAt: -1}).next();
var c = db.coll.find({data: 'foo', createdAt: d.createdAt});
有一種方法可以在一個單一的步驟中做到這一點?
相關問題:[1]。
對於這樣的日期格式,我真的懷疑這會起作用。會做一些研究。 – 2014-10-01 04:54:52
當然會的。你不喜歡它什麼?只要這些元素可以被看作是平等的,這個小組就會工作。排序取決於它是否存儲爲時間戳或字符串。我假設它有一個時間戳,因爲沒有引號,他已經顯示了在他的例子中排序的能力。 – Verran 2014-10-01 16:11:05