当前位置: 首页 > 面试题库 >

如何在同一条语句中使用填充和聚合?

谢俊悟
2023-03-14
问题内容

这是我的约会集合:

{ _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> = 3.6), 可以 但需要第二次查询,并且使用不同的填充方式。汇总后,请执行以下操作:

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

有关更多信息,请访问Mongoose
API
和Mongoose文档。



 类似资料:
  • 问题内容: 我有一个分组的SQL选择查询。我想对groupby语句之后的所有记录进行计数。有没有一种方法可以直接从sql?例如,有一个包含用户的表格,我想选择不同的城镇和用户 总数 我想有一列包含所有城镇,另一列包含所有行中的用户数。 共有3个镇和58个用户的结果示例是: 问题答案: 这将完成您想要的操作(城镇列表,以及每个城镇中的用户数量): 使用时,您可以使用大多数聚合函数。 更新 (对问题和

  • 我的熊猫数据框中有2列。 我想去掉可乐和可乐,用可乐代替。 基本上,我需要用cola和colb中的值填充colc。如果可乐中有一个楠,那么它会从可乐中拉出,如果可乐中有一个楠,它会从可乐中拉出。如果可乐和可乐中没有楠,它们应该总是相等的。 我将如何在熊猫身上实现这一点?

  • 我的Java程序产生了很多数据,我用它构建了单个的ResultObject。因为只有某些结果对象会引起兴趣,所以我填充了一个可观察的HashMap 虽然映射和处理这些结果按预期工作,但我很难用该ObservableHashMap填充TableView 我的CustomObject(如果两个CustomObject具有相同的属性,只需检查JSONObject): 我的ObservableHashMa

  • 问题内容: 我在Pandas DataFrame中有一列具有连续数字的列。 我想将所有这些值更改为一个简单的字符串,例如“ foo”,导致 问题答案: 只需选择该列并像往常一样分配: 分配标量值会将所有行设置为相同的标量值

  • 并希望按列表中的值更改行C1-C3。预期产出:

  • 有没有一种方法可以在jdbc postgresql驱动程序的准备好的语句中多次使用同一个变量? 例如,我想使用以下语句,但每个问号的值相同: 有没有一种方法可以简单地在每个变量中使用相同的值?我想到了类似于pypostgresql中的用法,在pypostgresql中,可以简单地说用于每个字段。