mongosh(新的 MongoDB shell)可以生成与 mongo(旧版 MongoDB shell)相同的输出格式吗?

问题描述 投票:0回答:1

使用旧版

mongo
shell 执行以下命令:

mongo --quiet << EOF
  show dbs
EOF

提供此输出

admin   0.000GB
config  0.000GB
local   0.000GB

但是,使用新 shell 执行相同的命令 (

mongosh
)

$ mongosh --quiet << EOF
  show dbs
EOF

提供略有不同的输出:

test>   show dbs
admin   40.00 KiB
config  36.00 KiB
local   40.00 KiB
test>

我有一组使用

mongo
的旧脚本,我想将其迁移到
mongosh
,但输出中的细微差别使它们在某些时候中断。我想知道我是否可以避免额外的工作来调整它配置
mongosh
以与
mongo
完全相同的方式提供输出。

请问有什么办法吗?

提前致谢!

mongodb mongo-shell mongosh
1个回答
0
投票

show dbs
是一个shell内部命令,因此会很困难。

您可以通过加载 mongocompat 来获取旧版 mongo shell 中的一些命令。您可以将其添加到您的

.mongoshrc.js

load('.../index.js');

要获取所有数据库,您还可以查询集合

db.getSiblingDB('config').databases

© www.soinside.com 2019 - 2024. All rights reserved.