Как получить обратную связь о том, удалось ли выполнить запрос MongoDB и сколько строк было изменено?

У меня есть база данных MongoDB, и я использую MongoChef для написания сценариев для нее. У меня есть скрипт, который считывает данные из коллекции и вставляет записи в другую коллекцию. Сценарий работает нормально, но я не получаю никаких отзывов о том, что произошло. Есть ли способ получить подтверждение того, что скрипт закончил работу (то есть все записи вставлены)? Есть ли способ получить результат того, сколько записей было (в данном случае) вставлено? (Я понимаю, что могу написать другой оператор для подсчета записей, но я хочу знать, сколько записей было фактически вставлено инструкцией insert).То, что я хотел бы видеть, это что-то вроде «Script successful. 1200 записей, вставленных в свойства коллекции.»Кто-нибудь может показать мне, как включить этот выход для MongoChef? Спасибо!.

Ниже приведено изображение моего скрипта. Это после того, как он был запущен. Обратите внимание, что на вкладках результатов ничего нет; нет никаких указаний на то, что запросы были выполнены, что они были успешно выполнены или сколько записей было обновлено.

Введите описание изображения здесь

1 ответ

  1. Вы можете просмотреть документацию MongoDb для WriteConcerns и посмотреть, какая информация соответствует вашей версии Mongodb. Ранее getLastErrorон использовался для получения информации об ошибке последнего выполненного оператора CRUD.
    getLastError может предоставить вам информацию, если произошла какая-либо ошибка после выполнения какой-либо операции CRUD.

    Можно также использовать WriteResult, который возвращаетinsert,update, removeи saveоперация, чтобы получить номер обновленного документа. Он также содержит свойства, как writeErrorполучить информацию, специфичную для этого opeartion.

    Пример (psuedo не относится к MongoChef) —

    var wr = db.properties.insert(doc);
    
    println("Updated %d collections of type %s", wr.getN(), type);