Wie benutzt man populate und aggregate in derselben Anweisung?

Dies ist meine Terminsammlung:

{ _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") }

Ich habe das Aggregat verwendet, um das folgende Ergebnis zu erhalten

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

so was:

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

Wie kann ich das von mir überprüfte Patientendokument ausfüllen, aber es funktioniert nicht?Appointments.find({}).populate("patient").aggregate....

Mit anderen Worten, kann ich auffüllen und aggregieren in der gleichen Anweisung verwenden

Hilfe bitte

Antworten auf die Frage(6)

Ihre Antwort auf die Frage