将.js文件传递给mongo db.eval()

时间:2013-03-07 12:24:22

标签: mongodb

我正在尝试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文件而不是字符串?

1 个答案:

答案 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 :(