这是我的约会集合:
{ _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") }
我用聚合得到以下结果
{date: ISODate("2013-05-13T22:00:00Z"), patients:[ObjectId("518ee0bc9be1909012000002"),ObjectId("518ee0bc9be1909012000002"),ObjectId("518ee0bc9be1909012000002")] }
像这样:
Appointments.aggregate([ {$group: {_id: '$date', patients: {$push: '$patient'}}}, {$project: {date: '$_id', patients: 1, _id: 0}} ], ...)
我该如何填充我做到这一点但没有用的患者文档Appointments.find({}).populate("patient").aggregate……。
Appointments.find({}).populate("patient").aggregate
换句话说,我可以在同一条语句中使用填充和聚合吗
任何帮助请
使用最新版本的猫鼬(mongoose> = 3.6), 可以 但需要第二次查询,并且使用不同的填充方式。汇总后,请执行以下操作:
Patients.populate(result, {path: "patient"}, callback);
有关更多信息,请访问Mongoose API和Mongoose文档。