Обновите элементы вложенного массива с помощью mongotemplate весной - PullRequest
0 голосов
/ 09 мая 2019

У меня есть документ в 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 запросы.

...