javascript - 如何处理 mongo 脚本中的命令行参数?

标签 javascript bash mongodb

我一直在研究一些简单的脚本,以便从 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/

相关文章:

javascript - 提交搜索不会将我发送到 javascript 变量中指定的页面

javascript - MongoDB:聚合函数中的字符串字段的 parseFloat ($avg)

linux - 如何获取日期字段并对其进行操作

mongodb - 编码(marshal)和编码(marshal) BSON

javascript - 如何在 Jest 中模拟 Mongoose 'find()' 函数?

mongodb - 如何使用文档字段值作为 $slice 的参数?

javascript - 在 Canvas 上 reshape 圆圈

javascript - 使用代理在回调方法中访问对话框

linux - bash sh 差异,脚本转换

javascript - 尝试将 BASH 安装到 VSCode 时无法编辑用户设置。 "terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",