在春季使用mongotemplate更新嵌套数组元素

时间:2019-05-09 14:09:28

标签: mongodb spring-boot mongotemplate

我在mongodb中有一个文档,看起来像

{
    "_id" : ObjectId("5cb6daa9051c7de235e89491"),
    "apiname" : "shopify",
    "keycreds" : [ 
        {
            "apikey" : "xyxy",
            "domain" : "https://xyxy.com",
            "creds" : [ 
                {
                    "key" : "username",
                    "value" : "root"
                }, 
                {
                    "key" : "password",
                    "value" : "root"
                }, 
                {
                    "key" : "limit",
                    "value" : "9"
                }
            ],
            "pullastdatetime" : [ 
                {
                    "label" : "orders",
                    "time" : ISODate("2019-05-07T01:00:00.540Z")
                }, 
                {
                    "label" : "customers",
                    "time" : ISODate("2019-05-07T01:00:00.540Z")
                }
            ]
        }
    ]
}

在这里,我想使用此查询来更新每个标签的时间。

            Query query = new Query();
            query.addCriteria(Criteria.where("apiname").is(name).and("keycreds.pullastdatetime.label").is(label));
            Update update = new Update();
            update.set("pullastdatetime.$.time", timeStamp);
            mongoTemplate.updateMulti(query, update, UserConf.class);

但是查询无法正常工作。

请帮助我

我使用过mongotemplate查询。

0 个答案:

没有答案