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

标签 javascript arrays node.js mongodb mongoose

<分区>

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

注意:它适用于一个数组更新(如果我在推送后只保留反馈数组)但不适用于多个数组更新。多个数组怎么办?

最佳答案

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 }
   }
}

关于javascript - Mongodb:一次更新同一文档中多个数组的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38388968/

相关文章:

javascript - 如何检查keydown事件中按下的键数

python - 是否有零拷贝的方法从内存 View 创建字节数组?

node.js - Sequelize : effects of "unique" property in model definition

javascript - 在上传整个文件之前验证文件扩展名 强大 (node.js)

node.js - Node.js/Express/Passport 是否有像 CanCan for Rails 这样的授权模块?

javascript - 从 PhantomJS/CasperJS 中的 “SyntaxError: Parse error” 消息获取更多信息

javascript - 处理409冲突文档nodejs nano couchdb

Javascript简单问题,在某一天显示div并调用函数

c - '[' token C 程序 (DEV C++) 之前出现错误预期主表达式

c++ - 编写一个程序,要求用户最多输入 10 个整数(可能更少);使用数组和 for 循环