根据现有值

时间:2018-06-17 14:50:31

标签: mongoose

这是我的架构,我正在尝试执行以下操作:

const myModel = new Schema({
    dummy: String,
    users: [{
        created: Date,
        emails: { type: Number, default: 0 }
    }]
})

我正在试图弄清楚如何将emails字段增加一定值。 emails字段是users数组的一部分。

当我运行以下查询时,我的特定用户的电子邮件数量设置为123

myModel.findOneAndUpdate(query , {$set: {'users.$.emails': 123}},  function (err, userDoc){

但我正在寻找的是将emails的数量增加一个输入数numberOfEmails

myModel.findOneAndUpdate(query , {$set: {$inc: 'users.$.emails': numberOfEmails}},  function (err, userDoc){

emails的数量不会增加。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

您需要使用$inc来增加emails某个值

myModel.findOneAndUpdate(query , {$inc: {'users.$.emails': 123}},  function (err, userDoc){