node.js - 如何在同一个语句中使用填充和聚合?

这是我的约会收藏:

{ _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....

换句话说,我可以在同一个语句中使用填充和聚合

请帮忙

最佳答案

使用最新版本的 mongoose (mongoose >= 3.6),您可以,但它需要第二次查询,并且使用不同的填充。聚合后,执行以下操作:

Patients.populate(result, {path: "patient"}, callback);

在 Mongoose API 上查看更多信息和 Mongoose docs .

https://stackoverflow.com/questions/16680015/

相关文章:

mongodb - EventStore 与 MongoDb

mongodb - 如何使用 mongodb 更新包含在父对象数组中的对象的属性?

javascript - Meteor 文档中的消息计数示例如何工作?

mongodb - 如何使用多个键有效地执行 "distinct"?

MongoDB - 安装错误 - mongodb 设置向导过早结束

mongodb - 在 MongoDB 中存储 null 与根本不存储 key

mongodb - insert()、insertOne() 和 insertMany() 方法有什

mongodb - 查询 MongoDB 中的数组数组

mongodb - mongorestore 失败 : no reachable servers

c# - 如何使用官方 c# 驱动程序在 MongoDB 中使用 Update.Set 更新多个字段