node.js - Mongoose,更新对象数组中的每个值
问题描述
{
_id: 1,
name: 'Some event',
items: [{
status: 'NEW',
value: 'one'
},{
status: 'NEW',
value: 'two'
}]
}
我需要将每个状态更新为 PENDING
这是行不通的(
findOneAndUpdate({ _id: event.id },
{
$set: {
'items.$.status': "PENDING",
},
},
{
new: true,
upsert: true,
}),
我需要在没有任何条件的情况下更新每个状态字段的主要思想,因为我已经有了所需的项目,并且它只是在下一步操作之前更新状态。
解决方案
您可以通过尝试$
为所有元素应用参考$[]
'items.$[].status': "PENDING",
谢谢@turivishal!
推荐阅读
- arrays - 在 matplotlib 中使用不同大小的数组绘制二维直方图
- javascript - 每轮后重置宾果游戏
- python - 用替换序列替换字符串中的占位符
- ironpython - 如何将 MahApps Ui 库安装到 IronPython 项目中
- python - JSON文件在加载到python程序时被截断
- javascript - 关于 Javascript 原型的范围求和查询问题 (Leetcode)
- wordpress - 如何控制 WordPress AWE 主题的滑块速度?
- asp.net - 如何使用 AutoMapper 从 DTO 映射到 PUT/POST 模型?
- mysql - Laravel 将 aws 主机地址转换为 ip 地址
- reactjs - 我的库 google-maps-react 有错误