【发布时间】:2020-06-11 10:43:13
【问题描述】:
我需要向大子元素添加新元素。例如,我需要为现有产品添加新仓库。在此示例中,所有 size.wares 都有 LAX,但是产品“aaaa”、尺寸“42”和产品“bbbb”、尺寸“45”中缺少“NYC”
所以我需要检查所有产品及其尺寸,如果商品“NYC”存在,则添加新商品“NYC”
[
{
"_id": ObjectId("5db72c636309f84479ec0c7b"),
"productCode": "aaaa",
"brand": "Nike",
"image": "some.jpg",
"sizes": [
{
"_id": ObjectId("5db72c636309f84479ec0c7e"),
"size": "41",
"wares": [
{
"_id": ObjectId("5db72c636309f84479ec0c80"),
"ware": "LAX",
"amount": 100
},
{
"_id": ObjectId("5db72c636309f84479ec0c7f"),
"ware": "NYC",
"amount": 7
}
]
},
{
"_id": ObjectId("5db72c636309f84479ec0c7c"),
"size": "42",
"wares": [
{
"_id": ObjectId("5db72c636309f84479ec0c7d"),
"ware": "LAX",
"amount": 16
}
]
}
]
},
{
"_id": ObjectId("5db72c636309f84479ec0c7X"),
"productCode": "bbbb",
"brand": "Nike",
"image": "some.jpg",
"sizes": [
{
"_id": ObjectId("5db72c636309f84479ec0c7D"),
"size": "41",
"wares": [
{
"_id": ObjectId("5db72c636309f84479ec0c8G"),
"ware": "LAX",
"amount": 100
},
{
"_id": ObjectId("5db72c636309f84479ec0c7R"),
"ware": "NYC",
"amount": 7
}
]
},
{
"_id": ObjectId("5db72c636309f84479ec0c7q"),
"size": "45",
"wares": [
{
"_id": ObjectId("5db72c636309f84479ec0c7n"),
"ware": "LAX",
"amount": 16
}
]
}
]
}]
例如产品“bbbb”尺寸“45”
{
"_id": ObjectId("5db72c636309f84479ec0c7q"),
"size": "45",
"wares": [
{
"_id": ObjectId("5db72c636309f84479ec0c7n"),
"ware": "LAX",
"amount": 16
}
]
}
在“upsert”之后应该是这样的吗
{
"_id": ObjectId("5db72c636309f84479ec0c7q"),
"size": "45",
"wares": [
{
"_id": ObjectId("5db72c636309f84479ec0c7n"),
"ware": "LAX",
"amount": 16
},{
"_id": ObjectId("5db72c636309f84479ec0c7x"),
"ware": "NYC",
"amount": 0
}
]
}
【问题讨论】: