与同一集合中的其他两个字段有关系的mongodb字段

时间:2018-04-03 12:48:22

标签: mongodb aggregate

是否有可能在mongodb集合中创建一个字段,它会自动将两个数字与聚合相加(我的意思是每次我想要更新时都不必调用aggregate())
例如,我有一个书对象



{
    "_id": {
        "$oid": "5a8f3e4895ed5e3fdca7f2ad"
    },
    "category": "action",
    "author": "x",
    "title": "action book",
    "__v": 0,
    "price": 4000,
    "taxes": 370
}



 我想创建一个 totalPrice 字段,即使价格或税收更新,也会对价格和税金进行求和。我们说价格每分钟都会改变。那么,当价格或税收发生变化时,如何使totalPrice = price + tax之间的关系发生变化?

1 个答案:

答案 0 :(得分:0)

          Marks.findOneAndUpdate({
              username: username,
              year: year,
              section: section,
              week: week
            }, {
              $set: {
                quizmarks: quizmarks
              }
            },
            (err, data) => {
              if (err) {
                res.json({
                  'marks table error': err
                })
              } else {
                User.findOneAndUpdate({
                  username: username,
                  year: year,
                  section: section
                }, {
                  $inc: {
                    quizmarks: quizmarks,
                  },
                  $push:
                  {
                    attemptedQuizWeeks:attemptedQuizWeek
                  }
                }, (err, userdata) => {
                  if (err) {
                    res.json({
                      'usertable error': err
                    })
                  } else {
                    res.json({
                      "userdata": userdata,
                      "data": data
                    })
                  }

                })
              }
            })



        })

希望这会有所帮助。使用$ inc可以在右侧增加您想要的特定字段