繁体   English   中英

测试mongo脚本中参数的存在

[英]Test existence of argument in mongo script

我正在尝试通过执行以下操作将参数传递给mongodb脚本:

mongo --eval="foo='hello world'" test.js

但是我希望变量foo是可选的(即,如果存在则使用foo ,否则继续使用foo ),因此在test.js我测试了变量的存在:

if (foo)
    print(foo)
    //do stuff with foo

如果我没有在命令行上指定foo,则会抛出错误:

$ mongo test.js
ReferenceError: foo is not defined test.js:1
failed to load: test.js

这通常可以在普通JS中使用,如何在针对mongo的脚本中做到这一点?

基本上,我希望能够在不设置foo变量的情况下仍然可以执行mongo test.js并使脚本仍然有效。

我相信mongo的js运行时与node.js相似,因为它不允许直接访问尚未定义的变量。 我为此测试的方法是使用“ global.foo”(或“ this.foo”,具体取决于情况),如果已定义,它将返回foo,否则将返回undefined(并且不会导致错误) )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM