假设我的文档有一个date字段,我想在聚合中获取第一个和最后一个出现的文档.使用$group和$min或$max,很容易获得日期本身,例如:
db.mycollection.aggregate([
{ $group: {
_id: 1, // for the example say I'm grouping them all ...
first: { $min: "$date" },
result: { $push: { ... } } // ... and returning them all
}}
])
Run Code Online (Sandbox Code Playgroud)
这将返回如下结果:
{ _id: 1, first: ISODate(...), result: [...] }
Run Code Online (Sandbox Code Playgroud)
但我想要的不是第一次约会,而是第一次约会的结果.我怎样才能使用管道?
我一直在修改$project用于扫描数组之后的具有匹配日期的对象,看起来它可以工作,但我想我会看到是否有一个正确的方法来做到这一点之后我偶然发现了一个不正确的.
mongodb ×1