我正在使用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的工作流程,更重要的是,我在哪里可以找到它们!
答案 0 :(得分:0)
mongo方法允许你做特定的功能,比如乘法或加法,但我想要一个独特的功能。
不,如果你想要快,你只限于内置的运营商。没有自定义功能。并且没有引用其他字段/文档。
(真的很可惜。需要引用文档中的其他字段是如此自然,人们会认为...... )