получить количество обновленных документов монго - PullRequest
8 голосов
/ 16 ноября 2011

Есть ли в mongo функция для возврата количества документов, которые были обновлены в операторе обновления?

Я пытался использовать count(), но, очевидно, оператор обновления возвращает только true или false, поэтому я думаю,Я получаю счет строки.

Спасибо

1 Ответ

9 голосов
/ 16 ноября 2011

Используйте команду getLastError для получения информации о результате вашей операции.

Я не знаю драйвер ruby, но большинство драйверов автоматически делают это в « безопасном режиме ».В безопасном режиме каждая запись проверяет результат getLastError, чтобы убедиться, что запись прошла успешно.Операция обновления должна возвращать объект, который выглядит как объект JSON ниже, и включает количество обновленных документов (n).Вы можете точно настроить параметры безопасного режима, но имейте в виду, что режимом по умолчанию является «запустить и забыть», поэтому безопасный режим - хорошая идея для многих случаев использования.1011 *

Здесь я обновил n = 3 документы.Обратите внимание, что по умолчанию операции обновления в mongodb применяются только к первому сопоставленному документу.В оболочке четвертый параметр используется для указания того, что мы хотим обновить несколько документов.

...