如何在Mongo Shell执行JavaScript时屏蔽“switched to db”提示信息?
如何屏蔽Mongo Shell中切换数据库的提示信息?
我之前也碰到过这个糟心的问题!每次执行use foo切换数据库时,那行“switched to db foo”的提示就自动冒出来,要是批量切换多个库,输出里全是这种冗余信息,完全干扰了我要查看的程序输出。这里有几个实用的解决办法:
用
db.getSiblingDB()替代use命令(最推荐)
这是Mongo Shell提供的编程式切换数据库的方法,本身不会输出任何提示信息。比如你要切换到foo库,直接写:const fooDB = db.getSiblingDB('foo');之后所有针对
foo库的操作都可以通过fooDB对象来完成,比如fooDB.collection.find(),既干净又清晰。吃掉
use命令的返回值
如果你习惯了用use命令,可以通过接收返回值的方式阻止它被自动打印:// 方式1:用void忽略返回值 void use('foo'); // 方式2:用变量接收(变量可以随便命名,不用后续使用) let ignoreMe = use('foo');这样
use命令的返回结果就不会被Shell自动输出了。启动Shell时添加
--quiet参数
如果你希望屏蔽所有Shell级别的非必要提示(包括启动时的版本信息、切换库提示等),可以在执行脚本时加上--quiet参数:# 新版Mongo Shell(mongosh) mongosh --quiet your_script.js # 旧版Mongo Shell(mongo) mongo --quiet your_script.js这个方法会全局屏蔽Shell的默认提示,但要注意,它不会影响你自己在脚本里用
print()或console.log()输出的内容。
内容的提问来源于stack exchange,提问作者user2847853
相关产品推荐
相关产品推荐

