【发布时间】:2020-11-07 15:45:57
【问题描述】:
我有一个如下所示的 MongoDB 集合:
[
{
"stock": "GOOGLE",
"price": 0
},
{
"stock": "FACEBOOK",
"price": 0
}
]
我有一个像这样的Stock_Prices 对象:
{
"GOOGLE": {
"price": 31.35
},
"FACEBOOK": {
"price": 10.75
}
}
我需要使用 Node.js 从 Stock_Prices 对象更新集合中的每只股票。
我想到了以下方法:
- 遍历集合文档
- 对于每个文档,获取“stock”字段值(GOOGLE、FACEBOOK)
- 从
Stock_Prices[document.stock].price中提取价格 - 更新文档
这是一种不可接受的方法,因为我有成千上万条记录,需要立即更新。
更新:没必要,它应该是更新操作 - 如果是查找,那么我相信也会完成工作
我该怎么做?
【问题讨论】:
-
你不能遍历
Stock_Prices键并更新每个文档而不检索所有文档,如下所示:YourModel.updateOne(stock, { price })? -
会有什么不同?我还在一一更新。
-
更新报价中的最后一条语句对我来说仍然不是很清楚。您要更新还是可以有聚合输出?
标签: javascript node.js mongodb typescript mongoose