【发布时间】:2014-10-01 06:15:31
【问题描述】:
假设有一个包含以下文档的集合:
{
_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]。
【问题讨论】:
标签: mongodb