【发布时间】:2021-11-08 19:45:57
【问题描述】:
我有一个如下所示的 MongoDB 架构
const ProductModel = new Schema({
subcategory: {
type : mongoose.Schema.Types.ObjectId,
ref : "Subcategory",
},
product_name: {
type: String
},
description: {
type: String
},
price: {
type: Number
},
});
还有一个子类别架构:
const SubcategoryModel = new Schema({
subcategoryName: {
type: String,
}
});
聚合前的输入查询如下所示:
[
{
"_id": "111",
"subcategory": {
"_id": "456",
"categoryName": "Sneakers",
},
"product_name": "Modern sneaker",
"description": "Stylish",
"price": 4400
},
{
"_id": "222",
"subcategory": {
"_id": "456",
"categoryName": "Sneakers",
},
"product_name": "Blue shoes",
"description": "Vived colors",
"price": 7500
},
{
"_id": "333",
"subcategory": {
"_id": "123",
"categoryName": "Jackets",
"__v": 0
},
"product_name": "Modern jacket",
"description": "Stylish",
"price": 4400
},
}
]
查询的最终结果应该是这样的:
{
"Sneakers":[
{
"product_name":"Modern sneaker",
"description":"Stylish",
"price":"4400"
},
{
"product_name":"Blue shoes",
"description":"Vived colors",
"price":"7500"
},
"Jackets":{
"...."
}
]
}
聚合前的子类:
"subcategories": [
{
"_id": "123",
"categoryName": "Jackets",
},
{
"_id": "456",
"categoryName": "Sneakers",
}
]
我正在尝试填充子类别,然后按产品的 subcategoryName 字段对产品进行分组。
【问题讨论】:
-
您的数据如何?你能提供一个输入示例吗?
-
对不起,我刚做了,刷新页面:]
-
sneakers和Jackets是来自subcategoryName的值? -
刚刚添加了一个输入示例和一个输出示例。是的,两者都是 subcategoryName 的值。
-
你能添加一个子类别的例子吗?
标签: mongodb mongoose mongodb-query aggregation-framework