javascript - 如何从多个对象 mongoDB 中提取值
问题描述
我有一个文件和几个这样的集合
_id:objectId()
user:objectId()
notification:[
0:{
time:2021-08-02T02:46:37.816+00:00
read:false
status: added
}
1:{
time:2021-08-02T02:46:37.816+00:00
read:false
status: added
}
]
我想更新read:false
到read:true
.
目前我正在使用这个查询:
db
.get()
.collection(collection.NOTIFICATION_COLLECTION)
.update(
{ user: objectId(id), "notification.read": false },
{ $set: { "notification.$.read": true } },
{ multi: true }
);
运行此查询后的结果:
notification:[
0:{
time:2021-08-02T02:46:37.816+00:00
read:true
status: added
}
1:{
time:2021-08-02T02:46:37.816+00:00
read:false
status: added
}
]
第一个值已更改,我需要将所有值更新为read : true
- 我该怎么做?
解决方案
你需要这个;
"notification.$[].read": true
推荐阅读
- opencv - 使用python中的关键点进行复制移动伪造检测
- wordpress - 如何在 WordPress 中添加自定义帖子类型的搜索功能
- javascript - 使用对象文字并使用 lodash 绑定所有方法是一种好习惯吗?
- database - SQL删除日期早于x天的所有行
- visual-studio - Visual Studio 2017 外部 Web 工具设置存储在哪里?
- excel - 如何将一列与包含一些空白单元格的列匹配?
- r - R:将列表列表的列表写入具有名称的文本文件
- ssis - 外部组件在 microsoft sql server Dts 运行时引发了异常
- java - Woodstox 通过 SimpleXML 属性限制 - 如何设置它们?
- linux - Linux 上的 pthread_mutex_timedlock