• 技术文章 >数据库 >MongoDB

    mongodb如何执行js

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

    我们通常通过 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})
    
    #更多指令查看官方文档

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

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

    相关文章推荐

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

    全部评论我要评论

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

  • 取消发布评论
  • 

    Python学习网