小编Nou*_*our的帖子

如何在同一语句中使用populate和aggregate?

这是我的预约系列:

{ _id: ObjectId("518ee0bc9be1909012000002"), date: ISODate("2013-05-13T22:00:00Z"), patient:ObjectId("518ee0bc9be1909012000002") }

{ _id: ObjectId("518ee0bc9be1909012000002"), date: ISODate("2013-05-13T22:00:00Z"), patient:ObjectId("518ee0bc9be1909012000002") }

{ _id: ObjectId("518ee0bc9be1909012000002"), date: ISODate("2013-05-13T22:00:00Z"), patient:ObjectId("518ee0bc9be1909012000002") }
Run Code Online (Sandbox Code Playgroud)

我使用聚合来获得以下结果

{date: ISODate("2013-05-13T22:00:00Z"),
patients:[ObjectId("518ee0bc9be1909012000002"),ObjectId("518ee0bc9be1909012000002"),ObjectId("518ee0bc9be1909012000002")] }
Run Code Online (Sandbox Code Playgroud)

像这样:

Appointments.aggregate([
{$group: {_id: '$date', patients: {$push: '$patient'}}},
{$project: {date: '$_id', patients: 1, _id: 0}}
], ...)
Run Code Online (Sandbox Code Playgroud)

我怎样才能填写患者文件,但是它不起作用Appointments.find({}).populate("patient").aggregate......

换句话说,我可以在同一个语句中使用populate和aggregate

请帮忙

mongoose mongodb node.js

44
推荐指数
7
解决办法
5万
查看次数

在猫鼬中按日期分组

这是我的预约系列

{ _id: ObjectId("518ee0bc9be1909012000002"), date: ISODate("2013-05-13T22:00:00Z"), patient:"John" }

{ _id: ObjectId("518ee0bc9be1909012000002"), date: ISODate("2013-05-13T22:00:00Z"), patient:"alex" }

{ _id: ObjectId("518ee0bc9be1909012000002"), date: ISODate("2013-05-13T22:00:00Z"), patient:"sara" }
Run Code Online (Sandbox Code Playgroud)

我怎么能得到这样的resualt

{date: ISODate("2013-05-13T22:00:00Z"),
patients:["John","alex","sara"] }
Run Code Online (Sandbox Code Playgroud)

我试试这个

Appointments.aggregate([
{
$group: {
_id: '$date'
}
}
], function(err, doc) {
return console.log(JSON.stringify(doc));
});
Run Code Online (Sandbox Code Playgroud)

请帮忙

mongoose mongodb node.js

2
推荐指数
1
解决办法
3907
查看次数

标签 统计

mongodb ×2

mongoose ×2

node.js ×2