Javascript 如何使用函数更新mongo db对象中的值?

Javascript 如何使用函数更新mongo db对象中的值?,javascript,node.js,mongodb,express,Javascript,Node.js,Mongodb,Express,我正在使用MongoDB和mongoose以及node.js制作一个web应用程序。我想使用函数更新mongo db所有条目的“stocks”值。mongo方法允许您执行特定的函数,例如乘法或加法,但我需要一个唯一的函数。例如,Topic是mongoose对象,常见的mongo方法如下所示: Topic.update( { _id: 1 }, { $inc: { stock: 5 }, { multi: true } ) 这意味着通过在每个“库存”中添加5来更新具有_id:1

我正在使用MongoDB和mongoose以及node.js制作一个web应用程序。我想使用函数更新mongo db所有条目的“stocks”值。mongo方法允许您执行特定的函数,例如乘法或加法,但我需要一个唯一的函数。例如,Topic是mongoose对象,常见的mongo方法如下所示:

Topic.update(
   { _id: 1 },
   { $inc: { stock: 5 },
   { multi: true }
)
这意味着通过在每个“库存”中添加5来更新具有_id:1的所有条目。如果我想使用(stock*a)+b这样的函数,其中a是在Topic.update方法之前定义的变量,b是Topic mongo db中的另一个类别,该怎么办

一种方法可能是使用Topic.find({})并保存到数组中,然后使用javascript数组方法对其进行迭代,然后将其保存为mongo主题。但是有没有办法用mongo simpler做到这一点?内置方法

更广泛的问题是更新dbs的标准mongoose/mongo/javascript实践和工作流程是什么,更重要的是,我在哪里可以找到它们

mongo方法允许您执行特定的函数,例如乘法或加法,但我需要一个唯一的函数

不,如果你想快速,你只能使用内置的操作符。没有为您定制的函数。不引用其他字段/文档

(真的很遗憾。人们会认为,引用文档中的其他字段是很自然的事……)