• 技术文章 >数据库 >MongoDB

    mongodb如何执行js

    silencementsilencement2020-03-02 16:09:52原创3153

    我们通常通过 MongoDB Shell 访问 MongoDB Server,在 shell 中执行指令以完成各种操作,比如说复制集初始化、用户添加等等。

    但是,在实际过程中运维过程中有些操作是固定常用的,类似这些操作我们可以将其写入 js 文件,在Linux的 shell 中执行 mongo xxx.js

    这样指令完成我们的操作, 下面举例说明。

    添加用户

    1、给 admin 数据库添加一个 bruce账户

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    //addBruce.jsdb.getSiblingDB("admin").runCommand({

       "createUser" : "bruce",

       "db" : "admin",

       "pwd" : "123456",

       "roles" : [

            {

                "role" : "readAndWriteAnyDatabase",

                "db" : "admin"

            }

        ]});

    2、执行命令

    1

    2

    3

    4

    5

    [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 查看直接结果.

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    > 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 文件调用对应的方法去执行相应的操操作。

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    # 切换数据库,类似于 use 操作

    db.getSiblingDB("xxx")

     

    # 在对应的数据库上执行指令

    db.getSiblingDB("xxx").runCommand({xxxx})

     

    # 倘若是需要在 admin 数据库上执行指令,更简单

    db.adminCommand({xxx})

     

    #更多指令查看官方文档

    更多技术请关注Python视频教程

    专题推荐:数据库
    上一篇:mongodb怎么获取具体某一天的数据 下一篇:mongodb是内存还是硬盘存储

    相关文章推荐

    • 如何解决mongodb不是内部命令• mongodb安装失败如何彻底删除• mongodb怎么手动创建数据库

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网