【发布时间】:2022-02-14 20:16:44
【问题描述】:
我正在使用 Mongo DB,并且我有一个对象列表,我需要将这些对象分组到类别 -> 子类别 -> 不同类型的子类别中。 你可以在这个 mongodb 游乐场找到代码>https://mongoplayground.net/p/BfR7FT28XKN
我创建组类别 -> 所有子类别。 但是如何才能对同名的子类别进行分组呢?
我的目标是实现这样的目标:
{
"_id": "Food and Drink",
"subCategories": [
{
"details": "Wine Bar",
"subCategory": "Bar",
},
{
"details": "Jazz and Blues Cafe",
"subCategory": "Nightlife",
},
{
"subCategory": "Restaurants",
"types": [
{
"details": "Mediterranean",
"subCategory": "Restaurants",
},
{
"details": "Mexican",
"subCategory": "Restaurants",
}
]
},
]
}
谢谢
【问题讨论】:
-
你的结果我还不清楚。为什么其他文档没有类型数组。以及为什么带有类型数组的那个没有详细信息,而是嵌套在数组内的文档中。
-
上面的例子是一个简化来解释我想要的东西:如果你在 mongodb 操场上运行查询,你会看到所有的类别都与里面的所有子类别分组......但是你会发现 subcategory与“Restaurants”同名..我还希望将它们分组在一个我称之为“类型”的数组中。只有当有多个具有相同名称的子类别时,才必须创建数组“类型”..希望我自己解释一下
-
我建议您保持界面一致,如果没有文档,请保持类型数组保持为空。
标签: javascript mongodb aggregation