我关注了Product Catalog with MongoDB, Part 1: Schema Design,但不确定如何使用。
我的问题是如何使用价格检索特定类别的产品?(例如电子商务网站中的简单类别页面)
如果我将价格与产品放在同一个集合中(将其嵌入产品模型中),那么通过一个查询就可以获取每个产品的价格,但是我没有第二种方法那么灵活(例如变体定价是不可能的)。
样本产品文档:
{
id: '054VA72303012P',
name: 'women's kate ivory',
...
prices: [{
val: 127788.33,
startDate: '2018-12-31 23:59:59',
endDate: '2019-2-31 23:59:59',
}]
}
第二个选项是将价格存储为单独的集合(如文章中所述)。但是我想知道如何以价格检索产品。是否可以通过单个查询做到这一点?由于MongoDB没有JOIN
操作,我该如何选择具有相应价格的产品。本文提供了具有完整说明的示例架构。
示例架构:
product_document:{
"_id": '054VA72303012P',
"name": 'women's kate ivory',
...
}
variant_document:{
"_id": "05458452563",
"itemId": "054VA72303012P",
"name": "Width:Medium,Color:Ivory,Shoe Size:6.5",
...
}
price_document:{
"_id": "054VA72303012P_1234",
"price": "69.99",
...
}