我需要将 mongodb 聚合查询结果导出到文件。我连接到远程服务器,所以我需要像 db.myCollection.aggregate([...]).printToFile('C:\Downloads\resultFile.txt')
这样的东西可能吗?
最佳答案
将引号添加到您的连接字符串并使用 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
关于json - 将Mongodb查询结果导出到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54429779/