Mongodb3.2常用命令

1. 数据库相关
 

  1. 查询全部数据库

    show dbs

  2. 显示当前数据库

    db

  3. 创建/选择数据库

    use database_name
     

  4. 删除数据库

    use database_name  //选择数据库
    db.dropDatabase()  


2. 集合相关(相当于关系型数据库中的)   
 

  1. 创建集合 (在 MongoDB 中,你不需要创建集合。当你插入文档时,MongoDB 会自动创建集合)
     

    db.createCollection(name, [options])
    name:  新创建的集合名称
    options: 
    可选参数 , { capped : true, autoIndexId : true, size : 6142800, max : 10000 }

  2.  删除集合

    db.collection.drop()


    例: db.student.drop()   //删除student集合
     

  3. 查询所有集合

    show collections

     

3. 文档相关(相当于关系型数据库中的一条数据)   
 

  1. 插入文档

    db.collection_name.insert(document)

    例: db.student.insert({"name":"张三","age":"26","sex":"male"})

     
  2. 更新文档

    (1)、替换文档

    db.collection.update()

    例: db.student.update({"name":"张三","age":"26","sex":"male"},{"name":"张三","age":"25","sex":"male"})


    (2)、$set修改器

    db.collection.update({条件},{$set:{修改的内容}})

    例: db.student.update({"name":"张三"},{$set:{"name":"李四","sex":"female"}},{multi:true})

    multi: false表示更新第一个匹配的文档,true表示更新所有匹配的文档。
     
  3. 删除文档

    (1)、删除所有文档

    db.student.remove({})

    (2)、删除符合条件的文档

    db.student.remove(<query>)

    <query>:删除条件,相当于sql语句中的where

    例:db.student.remove({"name":"李四"})

     
  4. 查询文档

    (1)、 查询全部

    db.student.find()

    (2)、条件查询

    db.collection.find(<query>)

    <query>:  查询条件,可不填

    例:db.student.find({"name":"张三"})


    (3)、投影查询

    db.collection.find(<query>,<projection>)

    <projection>: 投影查询key,可不填

    例:只显示name和age两个key,_id主键不显示,1表示显示,0表示不显示

            db.student.find({"name":"张三"},{name:1,age:1,_id:0})

     
  5. 统计记录数 

    db.student.count({"age":"25"})
     
  6. 模糊查询

    MongoDB的模糊查询是通过正则表达式的方式实现的

    例:
    db.student.find({"name":/三/})

    db.student.find({"name":/^张/})
     
  7. 大于 小于 等于 不等于

    db.collection_name.find({ "field" : { $gt: value }})      // 大于: field > value
    db.collection_name.find({ "field" : { $lt: value }})        // 小于: field < value
    db.collection_name.find({ "field" : { $gte: value }})     // 大于等于: field >= value
    db.collection_name.find({ "field" : { $lte: value }})       // 小于等于: field <= valu
    db.collection_name.find({ "field" : { $ne: value }})        // 不等于: field != value


    例:
    db.student.find({"age":{$gte: "18"}})   //查询年龄大于等于18岁的学生
     
  8. 包含与不包含 (使用 $in 与 $nin 操作符)

    db.student.find({_id:{$in:["1","2","3"]}})

    db.student.find({_id:{$nin:["1","2","3"]}})

     
  9. 条件连接

    $and:[ { },{ },{ } ]

    $or:[ { },{ },{ } ]


    例:

    db.student.find({$and:[ {_id:"1"}, {age:{$gte:18}} ]})   //查询id=1并且年龄大于等于18岁的学生

    db.student.find({$or:[{_id:"1"},{_id:"3"}]})    //查询id=1或者id=3的学生

     
  10. 列值增长((使用 $inc 操作符)

    db.collection_name.update({条件},{$inc:{ "field" : NumberInt(1) }})

    例:

    db.student.update({_id:"2"},{$inc:{age:NumberInt(1)})   //更新id=2的学生年龄加1

     

4. 用户相关
 

  1. 创建用户

    use admin
    db.createUser(
         {
           user:"zhangsan",
           pwd:"123456",
           roles:[{role:"root",db:"admin"}]
         }
      )


    内置角色如下:
    (1)、 数据库用户角色:read、readWrite;
    (2)、数据库管理角色:dbAdmin、dbOwner、userAdmin;
    (3)、集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
    (4)、备份恢复角色:backup、restore;
    (5)、所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、
    dbAdminAnyDatabase
    (6)、超级用户角色:root
     

  2. 认证登录

       为了安全需要,Mongodb要打开认证开关,即用户连接Mongodb要进行认证,其中就可以通过账号密码方式进行
    认证。
    (1)、在mongo.conf中设置 auth=true
    (2)、重启Mongodb
    (3)、使用账号和密码连接数据库
         mongo.exe ‐u root ‐p 123456 ‐‐authenticationDatabase admin
     

  3. 查询用户

    show users
     

  4. 删除用户

    db.dropUser("用户名")

    例:db.dropUser("zhangsan")
     

  5. 修改用户

    use admin
    db.updateUser(
         "zhangsan",
         {
           user:"lisi",
           pwd:"123456",
           roles:[{role:"root",db:"admin"}]
         }
      )

     

  6. 修改密码

    db.changeUserPassword("username","newPasswd") 

    例:
    use admin 
    db.changeUserPassword("zhangsan","123321")
     

5. MongoDB与MySql的比较

 

MongoDBMySql
集合
文档
字段
嵌入文档或链接joins

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值