我正在使用 Windows 批处理文件,它将 .js 文件输出到 csv 中。
.js 文件是一个 mongo 查询。
mongosh --host 10.1.0.1:27017 --username "username" --password "password" --authenticationDatabase admin --quiet C:\ActiveUsers1.js > C:\ActiveUsers.csv
mongosh --host 10.1.0.1:27017 --username "username" --password "password" --authenticationDatabase admin --quiet C:\ActiveUsers2.js >> C:\ActiveUsers.csv
mongosh --host 10.1.0.1:27017 --username "username" --password "password" --authenticationDatabase admin --quiet C:\ActiveUsers3.js >> C:\ActiveUsers.csv
每个 .js 文件的示例结果
ActiveUsers1.js = 10
ActiveUsers2.js = 15
ActiveUsers3.js = 20
我希望我的 ActiveUsers.csv 文件中包含的内容应该是:
10
15
20
我得到的是:
101520
我刚刚升级到 mongosh,使用旧的 mongo shell(mongo)时没有遇到这个问题。
有什么方法可以通过 .bat 文件来控制它吗?
答案1
在每个 mongosh 后添加echo.
以在每行后附加回车符。
mongosh --host 10.1.0.1:27017 --username "username" --password "password" --authenticationDatabase admin --quiet C:\ActiveUsers1.js > C:\ActiveUsers.csv
echo. >> C:\ActiveUsers.csv
mongosh --host 10.1.0.1:27017 --username "username" --password "password" --authenticationDatabase admin --quiet C:\ActiveUsers2.js >> C:\ActiveUsers.csv
echo. >> C:\ActiveUsers.csv
mongosh --host 10.1.0.1:27017 --username "username" --password "password" --authenticationDatabase admin --quiet C:\ActiveUsers3.js >> C:\ActiveUsers.csv
echo. >> C:\ActiveUsers.csv