Нам нужно создать атомарную процедуру в нашей базе данных MongoDB.
Нам нужно выполнить итерацию по коллекции, найти наибольшее число для заданного поля из всех документов в коллекции, а затем увеличить его. Мы работаем с некоторыми устаревшими данными, которые нам нужно интегрировать, иначе у нас уже была бы некоторая атомарная последовательность.
Как я могу создать хранимую JS или хранимую процедуру в MongoDB, которая может выполнять всю процедуру атомарно?
Я вижу некоторую информацию, но ничего не выглядит особенно ясным для меня:
Вызвали сохраненную функцию javascript из Mongoose?
https://groups.google.com/forum/#!topic/mongoose-orm/sPN3wfDstX4
https://github.com/mongoosejs/mongoose-function
Где я могу найти полезную информацию о том, как на самом деле написать атомарную/блокирующую хранимую процедуру, которая выполняется в MongoDB, и как на самом деле вызвать хранимую процедуру из приложения?
findAndModify
, но это а) действительно трудно сказать, учитывая, насколько расплывчато ваше описание и б) атомарно только на уровне документа. - person Sergio Tulentsev   schedule 25.07.2017