2016-11-01 5 views
0

Я просто изучаю MongoDB и внедряю URL-сокращение в качестве POC. Я шел через учебник по NodeJS/Mongoose и увидел этот метод:MongoDB update атомная операция

Model.findByIdAndUpdate(id, [update], [options], [callback]) 

Are оба обновления и обратный вызов операции атомной? Или это только операция обновления атома?

Если оба атома, как это сделать в Java? У монго-ява-водителя есть этот метод

collection.findOneAndUpdate(query, update, options); 

Но очевидно, что обратного вызова не поддерживается. Любая помощь приветствуется.

ответ

-1

Обратный звонок доступен в mongo java driver от version 3.0. Если вы используете меньшую версию драйвера mongo java, обновите ее до версии 3.0 или новее.

Пожалуйста, смотрите эту post для findOneAndUpdate выборки обратного вызова

Других полезных сообщений

https://github.com/mongodb/mongo-java-driver/tree/master/driver-async

http://www.programcreek.com/java-api-examples/index.php?api=com.mongodb.async.SingleResultCallback

http://mongodb.github.io/mongo-java-driver/3.0/?_ga=1.13498046.849992754.1476359743

Атомарности

Все операции записи в MongoDB являются атомарными на уровне одного документа.

https://docs.mongodb.com/v3.2/tutorial/update-documents/ https://docs.mongodb.com/v3.2/core/write-operations-atomicity/

+0

В первой ссылке вы в курсе, что я смотрю на примере 3, который использует findOneAndUpdate(). Но я не вижу его, используя обратный вызов? Кроме того, операторы обновления и обратного вызова являются атомарными? – codewarrior

+0

Да в примере 3 они присвоили значение переменной, см. Примеры 1,2 и 4 в том, что они использовали обратный вызов. –

Смежные вопросы