【发布时间】:2016-04-27 17:03:29
【问题描述】:
我有一个包含多个对象的数组,我想在我的顺序中使用_id 递减qty 的值。这是我的努力:
funcs.updateOrder=function(request, reply){
Order.update({
"order._id" : request.payload.orderid
}, {
"$set" : {
"$inc":{"order.$.qty" : {qty:request.payload.qty}},
"order.$.reason" : request.payload.reason,
}
},
function(err) {
if(err){
reply(err).code(500);
}
else{
reply({"message":"success"});
}
});
};
这是我的 mongodb 架构:-
{
"_id": "57206feb05a533ac0f84447e",
"createdAt": "2016-04-27T07:53:15.108Z",
"updatedAt": "2016-04-27T07:53:15.108Z",
"orderno": "ORDER-NO-04-2016-2",
"order": [
{
"qty": -1,
"model": "56dd2a2adcb3dde8067906dc",
"vendorname": "57079f50182dd95c16c2d790",
"partname": "57206ddd566d86580ec2d480",
"make": "56dd2a29dcb3dde80679062e",
"_id": "57206feb05a533ac0f844482",
"reason": "unable to delivered"
},
{
"qty": 12,
"model": "56dd2a2adcb3dde8067906dc",
"vendorname": "57079f50182dd95c16c2d790",
"partname": "57206ddd566d86580ec2d480",
"make": "56dd2a29dcb3dde80679062e",
"_id": "57206feb05a533ac0f844481",
"reason": "unable to delivered"
},
{
"qty": 66,
"model": "56dd2a2adcb3dde8067906f1",
"vendorname": "5710be56dc475f640e83a0ba",
"partname": "57206ddd566d86580ec2d480",
"make": "56dd2a29dcb3dde80679062e",
"_id": "57206feb05a533ac0f844480",
"reason": null
},
{
"qty": 55,
"model": "56dd2a2adcb3dde806790704",
"vendorname": "57079f50182dd95c16c2d790",
"partname": "57206ddd566d86580ec2d480",
"make": "56dd2a29dcb3dde80679062e",
"_id": "57206feb05a533ac0f84447f",
"reason": null
}
],
"__v": 0
}
【问题讨论】: