gpt4 book ai didi

mongodb - MongoTemplate 拉取子文档

转载 作者:行者123 更新时间:2023-12-02 00:32:25 25 4
gpt4 key购买 nike

我需要在 MongoTemplate 中提取子文档,但不知道该怎么做。

我保存的文档是:

{
"_id" : "FooUser",
"_class" : "com.domain.User",
"tests" : [
{
"variant" : {
"_id" : "C",
"probability" : "0.5"
},
"experiment" : {
"$ref" : "experiment",
"$id" : "MyExperiment2"
}
},
{
"variant" : {
"_id" : "B",
"probability" : "0.5"
},
"experiment" : {
"$ref" : "experiment",
"$id" : "MyExperiment1"
}
}
]
}

我只需要删除包含 MyExperiment1 的测试。执行以下命令有效:

db.user.update( {}, {$pull: { "tests":{"experiment.$id":"MyExperiment1"}}}, {multi: true} )

我应该如何使用 Spring MongoTemplate 编写这个?

我尝试了以下方法,但不起作用:

this.mongoTemplate.updateMulti(new Query(), new Update().pull("tests", "{\"experiment.$id\":\"MyExperiment1\"}"), "user");

谢谢。

最佳答案

看起来这可行:

this.mongoTemplate.updateMulti(new Query(),
new Update().pull("tests", Query.query(Criteria.where("experiment.$id").is("MyExperiment1"))), USERS_COLLECTION_NAME);

关于mongodb - MongoTemplate 拉取子文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27152868/

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