我一直在研究一些简单的脚本,以便从 bash 命令行在 mongo 上运行。最初,我按如下方式运行它们:
$ mongo dbname script.js
但我最近看到了 mikemaccana 的答案,https://stackoverflow.com/a/23909051/2846766 ,指示使用 mongo 作为解释器,这样我就可以从命令行执行 script.js (或我选择的任何名称,带或不带 .js)。
$ script.js
我认为它非常出色且干净,但现在我想将数据库名称作为命令行参数传递。
$ script.js dbname
这里我使用 bash 风格的“$1”来演示我在 script.js 中所做的事情。
#!/usr/bin/env mongo
var db = new Mongo().getDB($1);
// Do other things with db, once I resolve the name from the command line.
这会导致“ReferenceError:$1未定义...”,这并不奇怪。但是我如何引用命令行参数呢?这将是一个 mongo session 吗? JavaScript 约定?是否可以?这将使我对 mongo 的命令行体验更加美观。
最佳答案
目前无法使用 mongo shell 来执行此操作...
https://groups.google.com/forum/#!topic/mongodb-user/-pO7Cec6Sjc
...如果您想获得类似的命令行体验,请尝试使用 bash 脚本(或您熟悉的其他脚本语言)。
关于javascript - 如何处理 mongo 脚本中的命令行参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24352253/