arrays - MongoDB 更新嵌套数组元素
问题描述
我有以下结构:
{
id: "1",
invoices: [{ id: "1", balance: 1},{ id: "2", balance: 1}]
},
{
id: "2",
invoices: [{ id: "3", balance: 1},{ id: "4", balance: 1}]
}
我得到了一个我不应该更新的发票 ID 列表,其余的我需要将余额更新为 0。
我对 MongoDB 很陌生,并且设法找到了一种方法。
解决方案
假设您要更新 ID 1 的所有发票,但 invoice.id 2 除外,试试这个:
db.collection.update(
{ id: "1", "invoices.id": {$ne: 2} },
{
$set: {
"invoices.$[]": { balance: 0 }
}
}
)
推荐阅读
- html - 根据,jumbotron 等有多少网站元素或部分列表?
- git - 向 gitignore 文件添加模式不会捕获子目录
- excel - Referencing list in Excel Filter function
- python - Matplotlib 更改图例线的长度
- python - 如何在 AllenNLP git repo 中编写对分类模型的配置文件?
- arduino - 将字节数组转换为字符串,然后将其与arduino中的字符串匹配
- assembly - 二元炸弹 [第 5 阶段]
- github - 搜索组织在 github 中创建的存储库
- google-cloud-platform - 如何使用 GitLab 存储库作为谷歌云负载均衡器的后端?
- javascript - CSS 和 JS 文件不会加载到 node.js 服务器上