Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js nodejs+mongodb:修改现有文档_Node.js_Mongodb_Insert Update - Fatal编程技术网

Node.js nodejs+mongodb:修改现有文档

Node.js nodejs+mongodb:修改现有文档,node.js,mongodb,insert-update,Node.js,Mongodb,Insert Update,我在mongo中存储用户余额。现在我想用数学方法将现有余额相加,如余额=余额+金额。我在一个函数中循环处理多个值,该函数获取一个要更新的余额数组。以下 UserModel.findOneAndUpdate({ address: accounts[c].address }, { balance: accounts[c].amount }, (error, user) => { // do stuff } ); 我想要的是: { balance: user.am

我在mongo中存储用户余额。现在我想用数学方法将现有余额相加,如余额=余额+金额。我在一个函数中循环处理多个值,该函数获取一个要更新的余额数组。以下

UserModel.findOneAndUpdate({ address: accounts[c].address }, 
  { balance: accounts[c].amount }, 
  (error, user) => { 
    // do stuff
  }
);
我想要的是:

  { balance: user.amount + accounts[c].amount }, 

我还尝试先读取该值,然后在回调函数中执行另一个findOneAndUpdate,不幸的是,回调处理程序没有正确的索引c,因此访问accounts[c].amount中的错误元素

改为{balance:accounts[c].amount}尝试{$inc:{balance:accounts[c].amount}。它应该只按帐户[c]增加余额。金额。

为了清楚起见,您想用帐户[c]更新余额字段。金额?不,我想添加金额。如余额=余额+科目[c]。金额。注:我指的是数字的数学运算,而不是添加元素。