我使用$push
来更新一个数组的元素。但是,当我尝试使用逗号分隔值(如下所示)更新保持$push
的多个数组的元素时,它显示错误。怎么做?
var conditions = { some condition };
var update = { $push : {Feedback : { Feedbacks:req.body.Feedbacks}}, {Strength : { Strengths:req.body.Strengths}}};
var options = { multi : true};
Model.update(conditions, update, options, callback);
架构是:
Model : {
Field1 : {
type:Number
},
Field2: {
type : String
},
Feedback : {
type: Array,
Default:[]
},
Strength : {
type: Array,
Default: [],
}
};
注意:它适用于一个阵列更新(如果我在推送后仅保留反馈数组),但不适用于多个阵列更新。如何处理多个数组?
答案 0 :(得分:1)
Push to two separate arrays in one update call in mongodb
Model.update(
conditions,
updates,
options,
callback
)
var updates =
{
$push :
{
Feedback : { $each: req.body.Feedbacks },
Strength : { $each: req.body.Strengths }
}
}
答案 1 :(得分:0)
{ $push: { <field1>: <value1>,
<field2>: <value2> } }
即
$push :
{
Feedback : { $each: req.body.Feedbacks },
Strength : { $each: req.body.Strengths } }