2015-09-01 2 views
0

У меня есть система nodeJS, где студент регистрируется для партии, и поэтому у меня есть поле в mongodb как batchSize, которое содержит максимальное количество студентов в одной партии, учащийся может записаться на партия и batchSize должны уменьшить ее значениеКак уменьшить значение записи в базе данных

как написать запрос, чтобы сделать то же самое?

+1

См [ '$ inc'] (https://docs.mongodb.org/manual/reference/operator/update/inc/) и использовать "отрицательное" значение "декремент" или "уменьшить" , –

+0

awesome, я не знал об отрицательной части, спасибо! –

+1

Не забудьте использовать метод findAndModify(): с простым обновлением() вы можете попасть в проблему cuncurrency: http://docs.mongodb.org/manual/reference/method/db.collection.findAndModify/ – dbra

ответ

0
Batch.update({_id: data.batch._id},{$push:{'students':data.student},$inc:{currentlySubscribed: 1}} 

Batch.update({_id: data.batch._id}, {$pull: {'students':{'email': data.student.email}}, $inc: {currentlySubscribed: -1}} 
+0

How я помешаю ему отказаться от негатива? – Rexford

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