Mongodb:一次更新同一文档中多个数组的元素

Mongodb: update elements of multiple arrays in same document at a time

本文关键字:数组 文档 元素 更新 Mongodb 一次      更新时间:2023-09-26

我用$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: [],
    }
};

注意:它适用于一个阵列更新(如果我在推送后只保留反馈数组),但不适用于多个阵列更新。如何对多个阵列执行操作?

在 mongodb 中的一次更新调用中推送到两个单独的数组

Model.update(
   conditions, 
   updates,
   options,
   callback
)
var updates = 
{
   $push : 
   {
      Feedback : { $each: req.body.Feedbacks },
      Strength : { $each: req.body.Strengths }
   }
}
   { $push: { <field1>: <value1>,
              <field2>: <value2> } }

      $push : 
       {
         Feedback : { $each: req.body.Feedbacks },
         Strength : { $each: req.body.Strengths } }