gpt4 book ai didi

java - 如何使用 Java 驱动程序更新 MongoDB 中数组的嵌入文档中的字段值

转载 作者:行者123 更新时间:2023-12-01 08:57:05 25 4
gpt4 key购买 nike

我的文档中有以下结构:

{
"_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”。 enter image description here 那么我的结构应该更新如下。 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,
}
]
}

我怎样才能实现这个目标?

最佳答案

您可以利用位置 $更新。

查询过滤器在数组中找到匹配的site,更新部分会将匹配元素的status设置为0。

collection.updateOne(new Document("_id", new ObjectId("5891a85bccaad513a844308f")).append("sites.site", "site3"), Updates.set("sites.$.status", 0));

关于java - 如何使用 Java 驱动程序更新 MongoDB 中数组的嵌入文档中的字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41976812/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com