gpt4 book ai didi

java - 如何更新 MongoDB 中的嵌套文档而不是使用 Spring Data Java

转载 作者:行者123 更新时间:2023-12-02 02:24:15 26 4
gpt4 key购买 nike

我正在尝试更新嵌套 mongo 文档中的所有空“角色”属性,如下所示:

 {
"id": "5a46ae611331fb6b8254a271",
"name": "my_Customer",
"users": [
{
"lastName": "ZoozFirstNameUser",
"firstName": "ZoozLastNameUser",
"id": "5a46ae611331fb6b8254a26e",
"role": null
},
{
"lastName": "Vitaly",
"firstName": "Treck",
"id": "5a46ae611331fb6b8254a26f",
"role": null
}
]
}

我尝试使用以下命令来执行此操作,但它不起作用:

     @Override
public int updateUserRole(Role newRole) {

Query query = Query.query(Criteria.where("users")
.elemMatch(Criteria.where("role").is(null)));

Update update = new Update().set("users",
new BasicDBObject("role", newRole));

return mongoTemplate.updateMulti(query, update, Customer.class).getN();
}

我没有收到任何错误,但执行此命令后没有任何更改...:(

请帮忙

最佳答案

尝试这个更新语句

Update update = new Update().set("users.$.role", newRole);

关于java - 如何更新 MongoDB 中的嵌套文档而不是使用 Spring Data Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48028607/

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