Обновляйте документ mongo, только если значение больше

Получил коллекцию документов в БД mongo. Одно из полей в документе - "verison": int

Мне было интересно, есть ли практический способ использовать это значение для предотвращения обновления документа при попытке обновить его с тем же или меньшим номером версии.

пример: в моей коллекции есть документ:

{
"name": "john",
"version": 3
}

если я попытаюсь отправить обновление с помощью:

{
"name": "rick"
"version": 3
}

Он не будет обновлять его, и я получу указание, что обновления не было, поэтому я могу как-то справиться с этим в своем коде.

Я использую node.js с собственным драйвером mongo DB.


person Ivgi    schedule 21.11.2019    source источник
comment
Итак, все, что вам нужно, это если номер версии 4, тогда он должен обновиться, иначе он должен пропустить, все в порядке?   -  person Kannan T    schedule 21.11.2019
comment
почти да   -  person Ivgi    schedule 21.11.2019
comment
тогда обычная команда обновления выполнит db.collection.update ({version: {$ gt: 3}}, {$ set: {name: 'rick'})   -  person Kannan T    schedule 21.11.2019


Ответы (1)


Вы можете решить, используя приведенный ниже код.

db.collection.update({'version':{$gte : 3}},{$set : {name:'Abc'}},{upsert : true,new:true})
person Foram Trada    schedule 21.11.2019