我正在尝试variety使用db.eval()
而不是命令行--eval
。这是因为我在验证方面遇到了一些问题。
正常使用来自命令行:
$ mongo test --eval "var collection = 'users', maxDepth = 3" /path/to/variety.js
我想做的是:
$ mongo
>> use admin
>> db.auth("foo", "bar")
>> use anotherColl
>> db.eval("/path/to/variety.js", "var collection = 'users', maxDepth = 3")
>> Thu Mar 7 13:19:10 uncaught exception: {
"errmsg" : "compile failed: JS Error: SyntaxError: invalid flag after regular expression nofile_a:0",
"ok" : 0
}
有没有办法让db.eval()
吃一个javascript文件而不是字符串?
答案 0 :(得分:1)
根据@Sammaye和我的直觉,你不能在db.eval()
中输入.js文件。然而,对于多样性,有一个解决方案here。
mongo -u USER-p PASS admin --eval "var collection = 'COL', db_name='DB_NAME'" variety.js
现在是authentication problem :(