Добавьте кавычки в строку подключения и используйте printjson()
для печати объектов JSON.Обратите внимание, что aggregate()
возвращает курсор, и, следовательно, вы должны проходить через него.Если вы не используете forEach
, он возвращает только верхние 20.
Вот команда из одной строки.
mongo --quiet "mongodb://junior:SECRETPASSWORD@mongo4:9000,mongo5:9000/WebApp?authSource=admin&replicaSet=rs0&readPreference=secondaryPreferred" --eval 'db.cars.aggregate([...]).forEach(function(doc) { printjson(doc);})' > output.txt
В более читаемом многострочном формате
mongo --quiet \
"mongodb://junior:SECRETPASSWORD@mongo4:9000,mongo5:9000/WebApp?authSource=admin&replicaSet=rs0&readPreference=secondaryPreferred" \
--eval 'db.cars.aggregate([...]).forEach(function(doc) \
{ printjson(doc);})' > output.txt