如何将其转换为 mongodb 聚合查询?
Posted
技术标签:
【中文标题】如何将其转换为 mongodb 聚合查询?【英文标题】:How do I convert this to mongodb aggregate query? 【发布时间】:2021-12-30 00:07:18 【问题描述】:SELECT prop_type , count(prop_type) As no_of_properties 来自 prop_type 加入 prop_for_rent 使用(prop_type) GROUP BY prop_type;
prop_type 和 prop_for_rent 都是表。那么用于 JOIN 和 GROUP BY 的“prop_type”是两者中的一个属性名。
查询的预期结果是计算每个属性类型中的属性数量。 这是它的sql版本的结果 Screenshot of sql query result
所以我需要它来显示相同的prop_type,然后是mongodb中每种类型的属性数
【问题讨论】:
【参考方案1】:db.prop_type.aggregate([
"$lookup":
"from": "prop_for_rent",
"localField": "prop_type",
"foreignField": "prop_type",
"as": "prop_for_rent_docs"
,
"$unwind":
path: "$prop_for_rent_docs",
preserveNullAndEmptyArrays: true
,
"$group":
"_id": "$prop_type",
"no_of_properties":
"$sum": 1
])
mongoplayground
【讨论】:
让我编辑问题,让我也尝试查询。谢谢 @Marss 我更新我的答案 在我进行了一些更改之后,原来的答案仍然有效,再次感谢! 完美!如果您能接受这个答案并投赞成票,那就太好了。以上是关于如何将其转换为 mongodb 聚合查询?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 NOT (A AND B) 转换为 mongodb 查询