mongodb mongoTemplate upsert - PullRequest
       7

mongodb mongoTemplate upsert

0 голосов
/ 24 ноября 2011

Я ищу идеи и решения, которые могли бы придумать другие люди, чтобы использовать upsert (или подобное) для обновления коллекции с помощью MongoTemplate (если это возможно).

Ниже приведен простой фрагмент: все, что я хочу сделать, это использовать функциональность, подобную "upsert", где "items" представляет объект, сопоставленный с коллекцией.

for(int i=0;i<items.size();i++){
        mongoTemplate.insert(items.get(i));
}

Спасибо за вашу помощь и счастливого Дня Благодарения!

1 Ответ

1 голос
/ 26 ноября 2011

Как правило, обновление имеет следующую форму:

db.collection.update( criteria, objNew, upsert, multi )

Если критерии определяют документ для обновления, objNew указывает новый документ для замены старого, upsert - этологическое значение, которое, если оно истинно, выполняет upsert (если запись не существует, создайте ее), а multi - логическое значение, которое сообщает mongo, что все документы, соответствующие критериям, должны быть обновлены (а не только один - который используется по умолчанию)

Я получил эту информацию от здесь

Я не знаком с MongoTemplate, но я взглянул на документы, и похоже, что их функция обновления поддерживает функциональность upsert.Вы должны иметь возможность использовать его, передавая истинное логическое значение в качестве третьего параметра для вашего вызова обновления.

Я видел это в методе doUpdate, описанном здесь

Позвольтея знаю, если это работает.

...