【问题标题】:Passing array name as parameters in mongoose在猫鼬中将数组名称作为参数传递
【发布时间】:2014-10-17 23:37:40
【问题描述】:

我正在使用 mongoose,并且正在使用 findByIdAndUpdate() 函数更新我的数据库。我想将元素推送到文档中存在的不同数组中。我的文档中有不同名称的不同数组。我可以将名称数组作为参数传递给这个函数还是我应该创建不同的函数,其中每个函数都有不同的nameArray

  this.findByIdAndUpdate(User._id,
                        {$push:{nameArray: 'element'}}, 
                        {upsert: true},
                        callback);

【问题讨论】:

标签: arrays node.js mongodb mongoose


【解决方案1】:

Node.js 4.x 中,您可以使用 computed property 语法直接在 $push 对象字面量中执行此操作:

this.findByIdAndUpdate(User._id,
                       {$push: {[nameArray]: 'element'}}, 
                       {upsert: true},
                       callback);

在以前的版本中,您需要以编程方式构建您的 $push 对象:

var push = {};
push[nameArray] = 'element';
this.findByIdAndUpdate(User._id,
                       {$push: push}, 
                       {upsert: true},
                       callback);

【讨论】:

    猜你喜欢
    • 2018-08-31
    • 2014-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-04
    • 2019-04-06
    相关资源
    最近更新 更多