我想要一份包含所有折扣产品的目录。
2个文件:
/* Catalog schema */
{
Catalog: {
products: [{
type: ObjectId,
ref: 'Product'
}],
discount: {
global: { type: Number, default: 0 },
categories: [{
codeCategory: String,
discount: Number
}]
}
}
/* Product schema */
{
reference: {
type: String,
index: true,
unique: true
},
url_photo: {
type: String,
default: 'http://localhost:3001/app/img/no-picture.jpg'
},
category: {
type: ObjectId,
ref: 'Category'
},
short_description: String,
long_description: String,
price: Number,
information: String
}
折扣适用于目录中的每个产品,我如何在mongo中进行查询以获得所有具有应用折扣的产品?
我可以直接查询以获得此结果吗?
我已经用聚合检查了但是我对它很新,我看不出我该怎么做。
感谢
答案 0 :(得分:2)
您可以在3.4管道中使用以下聚合。
main()
从$ bitbake -e | grep "^EXTRA_IMAGE_FEATURES"
EXTRA_IMAGE_FEATURES=""
路径提取类别的产品数据,并使用$lookup
对每个产品的价格应用折扣,并包含与所示类似的所有产品字段catalog.products
字段。 $map
以折扣价格覆盖产品数组。
如果在目录中找到匹配的产品类别,则添加类别级别折扣。使用information
查找匹配类别的索引(如果找到),使用$addFields
查找该索引处的类别,然后预测折扣金额为0。
$indexOfArray