• mongodb非交互式命令


    创建连接执行命令

             

    批量执行命令

            ./mongo 127.0.0.1:37017/mydb -uadmin -pTran --authenticationDatabase admin --eval "printjson(db.asset_scan.findOne());printjson(db.asset_scan.findOne());"

            ./mongo 127.0.0.1:37017/mydb -uadmin -pTran --authenticationDatabase admin --eval "db.currentOp()"

            

     执行命令脚本文件

           ./mongo 127.0.0.1:37017  test.js

           ./mongo  --nodb test.js   不用默认的连接就必须使用 --nodb选项参数

           

             

     test.js 
    var url = "mongodb://admin:Tran@127.0.0.1:37017/"
    var con = new Mongo(url)
    var db = con.getDB("mydb")
    printjson(db.stats())
    test.js

         

     交互式创建分区表

        设置分片
           use admin
           db.auth("admin","admin")
           db.runCommand({enablesharding:"mydb"}) //必须先切换到admin数据库然后才能有权限创建分区表
          对新表进行设置
            db.runCommand({shardcollection:"mydb.asset_acceptance_info",key:{_id:'hashed'}})  
          对已经有数据的表设置
           db.runCommand({shardcollection:"mydb.asset_acceptance_info",key:{"_id":1}})

    非交互式创建分区表

           var url = "mongodb://admin:Tran@127.0.0.1:37017/"
           var con = new Mongo(url)
           var db = con.getDB("mydb")
           db.adminCommand({shardcollection:"mydb.test7",key:{"_id":1}})
           printjson(db.test7.getShardDistribution())

           

          

     创建分区和索引

    var url = "mongodb://admin:Tran@192.168.0.103:37017/"
    var con = new Mongo(url)
    var db = con.getDB("mydb")
    
    
    //创建分区表名称为test8
    db.adminCommand({shardcollection:"mydb.test8",key:{"_id":1}})
    
    
    //创建分区表的索引字段
    db.test8.ensureIndex({"_id":1})
    db.test8.ensureIndex({"ipv4":1})
    
    
    printjson(db.test8.getShardDistribution())
    printjson(db.test8.stats())
                     
    View Code

          

    分区表的重命名

    #先备份原来的表 备份表的名称是-c 后面的字符串asset_scan_result 需要根据情况设置表名称
     /data/tian/mongodb-linux-x86_64-amazon-3.6.2/bin/mongodump -h 192.168.0.103:37017 -uadmin -pTrans --authenticationDatabase admin  -d mydb -c asset_scan_result -o /data/tian/backuptable/
    
    #手动删除备份好的表,然后重新创建一个新的空表
    
    #还原备份的数据到新表
     /data/tian/mongodb-linux-x86_64-amazon-3.6.2/bin/mongorestore -h 192.168.0.103:37017 -uadmin -pTran --authenticationDatabase admin -d mydb -c asset_scan_result /data/tian/backuptable/asset_scan_result.bson
    View Code

    非交互式批量删除库

          

          

     vi dropdatabase.js 
    
    var url = "mongodb://assert:Trans@192.168.19.10:27017/"
    var conn = new Mongo(url)
    var dbs=["aaa","bbb","ccc","ddd","eee","fff","jjj","kkk"]
    for (var i = 0; i<dbs.length; i++)
    {
        printjson(dbs[i]);
        db = conn.getDB(dbs[i]);
        printjson(db.stats())
        db.dropDatabase();
    };
    View Code
  • 相关阅读:
    mysql登录等
    软工实践寒假作业(1/2)
    结对作业二——顶会热词统计的实现
    基于okhttp的安卓端网络编程
    Le vent se lève, il faut tenter de vivre
    软件评测
    一道算法题
    结对作业一
    软工实践寒假作业(2/2)
    实验六:Mininet脚本实现控制交换机行为
  • 原文地址:https://www.cnblogs.com/yxh168/p/16393982.html
Copyright © 2020-2023  润新知