我的数据库中存在这种情况:
注意:所有ID由mongo自动生成。
酒店架构(为简便起见,我已删除了多余的字段)
hotel: Schema =
name: { type: String },
rooms: [{ availabilityDates: [{ type: Date }] }]
酒店有一些房间,这些房间的空房日期各不相同。
订单架构
order: Schema
no: { type: String },
hotels: [
{
hotel: { type: Schema.Types.ObjectId, ref: 'Hotels', required: true },
rooms: [
{
roomReferenceId: { type: String, required: true },
arrivalDate: { type: Date, required: true },
departureDate: { type: Date, required: true },
}
]
}
]
任何订单可以拥有一个或多个酒店。订单中的每个酒店都有带有参考ID和日期的房间阵列。
问题是: 如何实现对这些模式进行汇总并显示
的单个查询我愿意接受任何建议。我无法更改架构,因为它们是由外部承包商提供的。
在此先感谢您的帮助或提示。
答案 0 :(得分:-1)
您可以在mongodb聚合管道中使用 $ lookup 并将两个集合加入单个查询中