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

时间:2017-06-20 16:39:36

标签: javascript node.js mongodb express

我正在使用mongo db与mongoose和node.js制作一个网络应用程序。我想使用函数更新mongo db的所有条目的“库存”值。 mongo方法允许你做特定的功能,如乘法或加法,但我想要一个独特的功能。例如,Topic是猫鼬对象,常见的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更简单吗?内置方法?

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

1 个答案:

答案 0 :(得分:0)

  

mongo方法允许你做特定的功能,比如乘法或加法,但我想要一个独特的功能。

不,如果你想要快,你只限于内置的运营商。没有自定义功能。并且没有引用其他字段/文档。

真的很可惜。需要引用文档中的其他字段是如此自然,人们会认为......