如何在回调中使用变量更新文档?
Mongoose: How can I update a document using a variable in the callback?
我正在遍历一个id列表,找到与该id相关的条目,并且我想根据其当前值更新一个"score"值。像这样:
id_array= ['2l3k4jixc','2343xjl','l243xkj33',.......];
var K=5;
for (var i=0, i<id_array.length;i++){
Model.findByIdAndUpdate(id_array[i], { $set: { value:update_variable }}, options, function(err,found_item){
update_variable= ((K-found_item.score)^3)/2;
}
})
现在它试图在回调函数定义update_variable之前使用$set: {score:update_variable}
。所以我认为这行不通。我该怎么做呢?
目前没有办法在MongoDB的任何形式的update
语句中引用另一个字段值,所以你通常坚持"找到"项目,然后发出一个单独的.save()
方法:
Model.findById(id_array[i],function(err,found) {
found.value = ((doc.score)^3)/2;
found.save();
});
根据您的目的,保存中的附加回调是可选的(建议),但这是当前根据另一个字段的值设置一个字段的唯一方法。所以批量更新是正确的,除非你是循环。
相关文章:
- React:使用索引变量更新嵌套集合
- 范围变量更新,但不更新视图
- 正在将代码库中的C#变量更新到asp.net
- 使用变量更新剑道图表系列的数据会导致重绘将列从图表上绘制出来
- MongoDB 用变量更新数组
- 将变量更新为函数中的参数
- Javascript-变量更新
- 使用Javascript和PHP变量更新页面上的数据
- Angular js 在
标签上的变量更新$scope动画
- 如何通过参数变量更新对象的属性值
- 如何在范围变量更新时更新模板
- 简单的变量更新和写入页
- 函数在变量更新后的某个时间点执行
- javascript OO如何用一些JSON变量更新self参数
- 使用$set中的变量更新mongodb的node.js
- 将声明的null变量更新为布尔值
- 在查询部分使用变量更新查询
- 如何在回调中使用变量更新文档?
- 通过AJAX用PHP变量更新URL
- 防止在没有javascript的情况下在页面刷新后进行变量更新