这是我的文档架构:
{
"_id": "599345434a6caf2d9d2e2b67",
"total": 870,
"product_info": [
{
"product_id": "597de6e76dbf1a0004b98eb5",
"mrp": 20,
"quantity": 1,
"name": "bottle",
"product_status": 1
},
{
"product_id": "597dea4c6dbf1a0004b98eba",
"mrp": 300,
"quantity": 1,
"name": "purse",
"product_status": 1
},
{
"product_id": "597dea7d6dbf1a0004b98ebb",
"mrp": 250,
"quantity": 1,
"name": "switch board",
"product_status": 1
},
{
"product_id": "597deade6dbf1a0004b98ebc",
"mrp": 150,
"quantity": 1,
"name": "all out",
"product_status": 1
},
{
"product_id": "597deb196dbf1a0004b98ebd",
"mrp": 150,
"quantity": 1,
"name": "neem extract",
"product_status": 1
}
],
"shop_id": "597de6056dbf1a0004b98eb4",
"shop_name": "Pradeep's Shop",
"seller_uid": "469835666700",
"user_id": "598b9b700354020004f674b6",
"user_name": "bhupendra",
"payment_id": "NA",
"address_id": "NA",
"payment_type": 1,
"address_type": 1,
"start_date": "2017-08-15T18:53:38.976Z",
"last_update_date": "2017-08-15T19:02:27.245Z",
"order_status": 1,
"delivery_status": 1,
"payment_status": 1,
"delivery_date": "NA",
"payment_date": "NA"
}
在我的查询中,我将发送我需要更新的product_id列表以及我需要更改的product_status列表,例如
var product_ids=["597de6e76dbf1a0004b98eb5","597dea7d6dbf1a0004b98ebb"];
var product_status=[2,3];
那么如何才更新product_info中其id为product_ids数组的所有产品的product_status。
答案 0 :(得分:2)
这应该适合你:
var bhupendra = localdb.collection('bhupendra');
var product_ids=["597de6e76dbf1a0004b98eb5","597dea7d6dbf1a0004b98ebb"];
var product_status=[2,3];
for (var i = 0; i < product_ids.length; i++) {
bhupendra.update({_id: "599345434a6caf2d9d2e2b67", "product_info.product_id": product_ids[i]}, { $set: { "product_info.$.product_status" : product_status[i] } });
}