【发布时间】:2017-01-13 20:01:06
【问题描述】:
假设我想做一个聚合,得到一组用户,其中每个用户都是最近插入的带有他们名字的文档。例如,如果我这样做了:
db.users.insert({name: 'Bob', _id: 1})
db.users.insert({name: 'Jim', _id: 2})
db.users.insert({name: 'Bob', _id: 3})
我想回来
[
{name: 'Jim', _id: 2},
{name: 'Bob', _id: 3}
]
这很简单——只需按name 分组并将id 设为{$max: '$_id'}。但是,假设我引入了一个 phoneNumber 字段,并且我还想检索“Jim”和“Bob”的 phoneNumber。如何检索此字段以使其与正确的 id 匹配?例如:
db.users.insert({name: 'Bob', phone: '555-1234', _id: 1})
db.users.insert({name: 'Jim', phone: '555-5678', _id: 2})
db.users.insert({name: 'Bob', phone: '555-9101', _id: 3})
我想回来
[
{name: 'Jim', phone: '555-5678', _id: 2},
{name: 'Bob', phone: '555-9101', _id: 3}
]
【问题讨论】:
标签: mongodb aggregation-framework