如何使用Java驱动程序更新MongoDB中数组的嵌入文档中的字段值
我的文件结构如下:
{
"_id": ObjectId("5891a85bccaad513a844308f"),
"sites": [
{
"site": "site1",
"url": "site1.com",
"status": 1,
},
{
"site": "site2",
"url": "site2.com",
"status": 1,
},
{
"site": "site3",
"url": "site3.com",
"status": 1,
}
]
}
然后我将所有站点加载到UI。然后我会做一些改变,比如如下图片和点击更新。我已经删除了“site3”。
然后我的结构应该更新如下。site3状态应更新为0
{
"_id": ObjectId("5891a85bccaad513a844308f"),
"sites": [
{
"site": "site1",
"url": "site1.com",
"status": 1,
},
{
"site": "site2",
"url": "site2.com",
"status": 1,
},
{
"site": "site3",
"url": "site3.com",
"status": 0,
}
]
}
我怎样才能做到这一点
# 1 楼答案
您可以使用位置^{} 更新
查询过滤器在数组中找到匹配的
site
,更新部分将把status
设置为0以匹配元素