【发布时间】:2018-12-14 20:28:17
【问题描述】:
我在 mongodb 的股票集合中有一个类似以下的文档。
{ _id: 'xRMuRBhqRLgASyQyW',
History:
[ { orderId: '12032017001877',
status: 'COMPLETED',
},
{ orderId: '22122017002450',
status: 'PROCESSED',
},
{ orderId: '22122018002450',
status: 'DEPOSIT',
}
]
}
如果状态不是'PROCESSED',我想遍历stocks 集合中的所有文档并添加一个字段flag: true。
【问题讨论】:
-
如果每个数组中只有一个这样的子文档,则可以使用 mongodb 位置运算符 $。如果有多个,那么您很可能必须阅读该文档,在客户端更改其内容,然后保存回来(可能是一系列外科手术
$set命令,如$set: {'History.2.flag': 'true'}) -
Sergio Tulentsev,先生,您是在谈论历史阵列吗?不,该数组中有很多项目。我正在尝试使用 mongo shell 更改我的数据库,因此没有客户端。
-
Mongo shell 是客户端。
-
不,先生,我正在使用 Nosqlbooster
-
@AnthonyWinzlet:哦,这是一个新的(对我来说)。谢谢,TIL。
标签: arrays mongodb mongodb-query