В MongoEngine 0.5 save
обновляются только те поля, которые изменились - до того, как он сохранил весь документ, это означало бы, что предыдущее обновление в find_another_document_and_update_it
было бы перезаписано.В целом, как и в случае с Python, лучше быть явным, поэтому вы можете использовать update
для обновления документа.
Вы можете обновить все упоминания с помощью одного обновления:
Authors.objects(id__in=ids).update(inc__mentions=1)
Независимо от этого, лучшим способом обновления будет вызов глобальных обновлений после self.save()
.Таким образом, упоминания увеличиваются только после того, как вы обработали и сохранили любые изменения.