在mongoose

时间:2017-12-19 03:08:02

标签: node.js mongodb mongoose

我在使用filtered positional operator增加数据库中的字段时遇到问题。这是我在数据库中的结构:

Schema:

...
funds: [{
    currency: String,
    balance: {
        avaible: Number,
        frozen: Number
    }
}],
...

My query:

User.findByIdAndUpdate(userId,{
      $inc: {"funds.$[e].avaible": funds},
      $addToSet: {
        funds: {
          currency: "BTC",
          balance: {avaible: funds, frozen: 0}
        }
      }
    }, { multi: true, arrayFilters: [{$eq: {currency: "BTC"}}]}).exec((err, row) => {
      if (err) {
        return console.log('error', err);
      }
      return console.log(row);
    });
    resolve(data)
  })
  .catch((e) => reject(e))

我想要的只是增加资金而货币是'BTC',如果该对象不存在则创建对象。

我的失败在哪里?

0 个答案:

没有答案