有没有办法添加"帮助"每次使用它时加载mongo
shell的方法?
基本上,只要您想通过_id
进行查询,就必须执行以下操作。
db.collectionName.findOne({_id: ObjectId('THIS-IS-AN-OBJECTID')})
每当我要做很多命令行命令时,我都会对ObjectId
函数进行别名,以便更容易输入。
var ob = ObjectId;
db.collectionName.findOne({_id: ob('AN-OBJECTID')})
db.collectionName.findOne({_id: ob('ANOTHER-ONE')})
db.collectionName.findOne({_id: ob('ANOTHER')})
如果有一种方法可以运行指定的JS /添加一段代码,每次从shell中提取mongo
,那将会非常寒意。我检查了MongoDB的CLI文档,但没有看到类似的东西,所以我想我会在这里问。
我知道有可能使用这种方式,所以这可能是默认情况下mongo
shell可能不支持的情况。这可能是我们可以创建某种类型的帮助程序bash脚本来启动shell,然后注入键盘输入以创建帮助程序ob
的情况?不确定如何在个人方面解决这个问题,但是如果能够做到这样的事情,无论是本地还是通过某种帮助脚本,都会深入了解。
答案 0 :(得分:1)
如果您希望每次启动shell时都执行代码,那么.mongorc.js
中的任何内容都将在启动时运行:
.mongorc.js文件
启动时,mongo会在用户的HOME目录中检查名为.mongorc.js的JavaScript文件。如果找到,mongo会在首次显示提示之前解释.mongorc.js的内容。如果使用shell来评估JavaScript文件或表达式,可以通过在命令行上使用--eval选项或将.js文件指定为mongo,mongo将在JavaScript完成处理后读取.mongorc.js文件。您可以使用--norc选项阻止加载.mongorc.js。
所以只需在那里定义你的变量关联。
您还可以提供您选择的文件以及--shell
选项,让命令知道您希望在完成包含的任何说明后打开shell:
mongo --shell file_with_javascript.js
但如上所述,除非还指定了--norc
选项,否则仍将调用.mongorc.js
文件(如果存在)。