我们通常通过 MongoDB Shell 访问 MongoDB Server,在 shell 中执行指令以完成各种操作,比如说复制集初始化、用户添加等等。
但是,在实际过程中运维过程中有些操作是固定常用的,类似这些操作我们可以将其写入 js 文件,在Linux的 shell 中执行 mongo xxx.js
这样指令完成我们的操作, 下面举例说明。
添加用户
1、给 admin 数据库添加一个 bruce账户
//addBruce.jsdb.getSiblingDB("admin").runCommand({ "createUser" : "bruce", "db" : "admin", "pwd" : "123456", "roles" : [ { "role" : "readAndWriteAnyDatabase", "db" : "admin" } ]});
2、执行命令
[root@iZu1qhttxe5Z js]# mongo ./addBruce.js MongoDB shell version v3.4.5 connecting to: mongodb://127.0.0.1:27017 MongoDB server version: 3.4.5 [root@iZu1qhttxe5Z js]#
3、通过 MongoDB Shell 查看直接结果.
> use admin switched to db admin> show users{ "_id" : "admin.bruce", "user" : "bruce", "db" : "admin", "roles" : [ { "role" : "readAndWriteAnyDatabase", "db" : "admin" } ]}>
NOTE
这里需要特别注意在 MongoDB Shell 中使用的 use admin、 show users、show collections 指令以及类似的指令不能出现在 js 文件
中。因为它不是 JavaScript 语法,我们只能在 js 文件调用对应的方法去执行相应的操操作。
# 切换数据库,类似于 use 操作 db.getSiblingDB("xxx") # 在对应的数据库上执行指令 db.getSiblingDB("xxx").runCommand({xxxx}) # 倘若是需要在 admin 数据库上执行指令,更简单 db.adminCommand({xxx}) #更多指令查看官方文档
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理