2013-03-07 68 views
1

我想要得到varietydb.eval()而不是命令行--eval一起使用。這是因爲我遇到了一些認證問題。傳遞一個.js文件到mongo db.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

我相信你可以只推一個js文件到'mongo'程序大氣壓的命令 – Sammaye 2013-03-07 12:43:45

回答

1

根據@Sammaye和我的直覺,你不能把.js文件放在db.eval()。然而對於品種來說,有一個解決方案here

mongo -u USER-p PASS admin --eval "var collection = 'COL', db_name='DB_NAME'" variety.js 

而且現在authentication problem :(

相關問題