Ах, да, я пытался подчеркнуть, что сеанс для базы данных не на сбор, но сделал ошибку. Исправлено сейчас. Благодарю.

рабатываю приложение, в котором я использую MongoDB в качестве базы данных с Nodejs + Express на уровне приложений, у меня есть две коллекции, а именно

пользователиоперации

Здесь я должен обновить кошелек тысяч пользователей на определенную сумму и в случае успеха создать новый документ с соответствующей информацией для каждой транзакции. Это мой код:

 userModel.update({_id : ObjectId(userId)}, {$inc : {wallet : 500}}, function (err, creditInfo) {
    if(err){
        console.log(err);                            
    }
    if(creditInfo.nModified > 0) {
        newTransModel = new transModel({
            usersId: ObjectId(userId),            
            amount: winAmt,         
            type: 'credit',           
        }); 
        newTransModel.save(function (err, doc) {
            if(err){
                Cb(err); 
            }
        });
    }                            
});

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

Я слышал это недавноMongoDB добавилTransactions поддержка в его4.0 versionЯ прочитал документы MongoDB, но не смог его успешно реализоватьс мангустом в Node.jsМожет кто-нибудь сказать мне, как этот код может быть реализован с помощью последнейTransactions особенность MongoDB, которые имеют эти функции

Session.startTransaction()
Session.abortTransaction()
Session.commitTransaction()

Документы MongoDB:Кликните сюда

Ответы на вопрос(1)

Ваш ответ на вопрос