zoukankan      html  css  js  c++  java
  • mongodb基本命令

    1 切换数据库

    use admin;

    2 查看当前数据库

    db;

    2.1 查看所有数据库

    show dbs;

    3 查看当前数据库下面的表

    show collections;

    4 删除数据库

    use test;
    
    db.dropDatabase(); #删除当前数据库
    
    show dbs;   #验证删除结果

    5 删除集合或者表

    db.table_name.drop();  #删除表 table_name

     6 查看账号信息

    mongo  --port=23000
    
    use  admin;
    
    db.auth('username','password')
    
    db.system.users.find().pretty()   #查看所有账号信息
    
    show users; #查看当前账号信息

    db.getUser('username') #查看指定用户的信息

     7 #使用gzip压缩的方式备份与恢复,注意只要换个命令就行,后面的不变,这里没用设置用户名和密码

    mongodump    --port=23000 --archive=/data/mongo_backup/testdb-2.20191203.gz --db testdb-2  --gzip
    mongorestore --port=23000 --archive=/data/mongo_backup/testdb-2.20191203.gz --db testdb-2  --gzip
    ** 这种备份方式生成一个gzip文件,解压后也是一个文件,将所有内容都放到一个文件里面

     8 不压缩的方式备份

    mongodump --port=23000 --db=testdb-2 -o /data/mongo_backup/20191203
    
    mongorestore --port=23000 --db=testdb-2 --drop /data/mongo_backup/20191203/testdb-2
    **经过这种方式备份,每个表通常就两个文件:.bson和.metadata.json

     9 在shell中使用mongo命令查询

    # 使用eval  mongo  ip:port/database  --eval ""
    [root@localhost ~]# mongo localhost:23000/testdb-2 --eval "printjson(db.table1.findOne())" MongoDB shell version v3.6.13 connecting to: mongodb://localhost:23000/testdb-2?gssapiServiceName=mongodb Implicit session: session { "id" : UUID("e87ef5ae-a6b7-47d6-a91c-65f3a0b81ac0") } MongoDB server version: 3.6.13 { "_id" : ObjectId("5de60a767321940034390f16"), "id" : 129, "name" : "hehe" }
    #使用--quiet 去掉不必要的信息

    [root@localhost ~]# mongo localhost:23000/testdb-2 --quiet --eval "printjson(db.table2.findOne())"
    { "_id" : ObjectId("5de615b8eac07a724c6911b6"), "id" : 6, "name" : "hehe" }

    #删除表

    [root@localhost ~]# mongo localhost:23000/testdb-2 --eval "db.table1.drop();"
    MongoDB shell version v3.6.13
    connecting to: mongodb://localhost:23000/testdb-2?gssapiServiceName=mongodb
    Implicit session: session { "id" : UUID("0cf5b11f-c6ef-417c-8bbd-a2f8414f589c") }
    MongoDB server version: 3.6.13
    true

     10 shell脚本中使用mongo命令

    #!/bin/bash
    mongo localhost:23000/testdb-2 <<EOF
     var cursor=db.table2.find();
     while (cursor.hasNext()){
       var item = cursor.next();
       print(item.name);
    
     }
    EOF

    #传参的方式

    #!/bin/bash
    table_name=$1
    mongo localhost:23000/testdb-2 <<EOF
    var cursor=db.${table_name}.find();
    while (cursor.hasNext()){
    var item = cursor.next();
    print(item.name);

    }
    EOF

  • 相关阅读:
    SpringCloud Alibaba微服务实战十
    万字长文!分布式锁的实现全都在这里了
    python编程中的小技巧(持续更新)
    工作十年的数据分析师被炒,没有方向,你根本躲不过中年危机
    github入门操作快速上手
    167. 两数之和 II
    167. 两数之和 II
    167. 两数之和 II
    怎么使用Fiddler进行抓包
    怎么使用Fiddler进行抓包
  • 原文地址:https://www.cnblogs.com/mmyy-blog/p/11977914.html
Copyright © 2011-2022 走看看