mongodb常用命令

mongodb常用命令

1. 数据库操作

  • 查看数据库

    show databases
  • 创建/选择数据库

    use dbname

2. 集合操作

db.createCollection(name, options)
  • options是一个文档,用于指定集合的配置,选项参数是可选的,所以只需要到指定的集合名称,可以不手动创建集合,向不存在的集合中第一次加入数据是,集合就会被创建出来.

  • 不限制集合大小

    db.createCollection("stu")
  • 限制集合大小

    参数capped:默认值为false表示不设置上限,值为true表示设置上限

    参数size:当capped值为true时,需要指定此参数,表示上限大小,当文档达到上限时,会将之前的数据覆盖,单位为字节

    db.createCollection("class", { capped : true, size : 20 } )
  • 查看当前数据库的集合

    show collections
  • 删除命令

    db.集合名称.drop()

3. 数据类型

MongoDB中常用的几种数据类型:

  • Object ID:文档ID,每个文档都有一个属性,为_id,保证每个文档的唯一性,可以自己设置,不允许重复

  • String:字符串,最常用,必须是有效的UTF-8

  • Boolean:存储一个布尔值,true或false

  • Integer:整数可以是32位或64位,这取决于服务器

  • Double:存储浮点值

  • Arrays:数组或列表,多个值存储到一个键

  • Object:用于嵌入式的文档,即一个值为一个文档

  • Null:存储Null值

  • Timestamp:时间戳,表示从1970-1-1到现在的总秒数

  • Date:存储当前日期或时间的UNIX时间格式

4. 插入数据

  • 不指定id参数(插入文档时,MongoDB会为文档分配一个唯一的ObjectId)

    db.lab.insert({name:'lab'}) #插入数据
  • 指定id等参数

    db.lab.insert({_id:20190416,name:'lab'}) #插入数据
    

5. 数据操作

命令解释
db.coll_name.insert()插入数据
db.coll_name.save({ })保存数据,若是没有此数据,则为插入
db.haha.update({ },{})默认更改一个数据,将后面数据替换前面选定的数据及以后的数据(会发生数据丢失)
db.haha.update({},{$set: {}},{multi:true})multi:true:更改全部,部分替换,不会丢失数据,只会更改选定的数据
db.haha.remove( { },{justOne:true} )justOne只删除一个,若是无justOne,则是全部删除
db.coll_name.find({})显示所有数据

6. 比较运算符

符号解释
没有符号默认是等于
$lt小于
$gt大于
$ lte小于或等于
$gte大于或等于
$ ne不等于
db.hero.find({age:{$ne:18}}) #查询年龄不等于18的数据
db.hero.find({age:{$gt:18}}) #查询年龄大于18的数据
db.hero.find({age:{$gte:18}}) # 查询年了那个大于或等于18 的数据

7. 逻辑运算符

  • $in 判断是否在条件里面 $nin 判断不在里面

  • 查询在范围里面的数据

db.lab.find({age:{$in:[13,18]}}) #查询age=13和age=18的数据
  • 查询不在范围里面的数据

db.lab.find({age:{$nin:[13,18]}}) #查询age=13和age=18的数据

8. 逻辑运算符

  • 没有end 直接用,隔开就是并且的意思

    db.hero.find({age:{$gt:18},gender:0})
    

     

  • or 或者

    db.hero.find({$or:[{age:{$gt:18}},{name:'武则天'}]})
    

     

  • 练习

db.hero.find({$or:[{age:{$gt:18}},{name:'亚瑟'}],gender:1})

 

9. 正则表达式

  • 第一种表示方法 /regex/

    db.xixi.find({name:/789$/})
    

     

  • 第二种表示方法

    db.xixi.find({name:{$regex:'789$'}})
    

     

10. limit 和skip

  • limit 限制结果数量

    db.hero.find().limit(2) #限制两条结果
    
  • skip 跳过数量

    db.hero.find().skip(3)
    
  • 综合显示

    db.hero.find().skip(2).limit(3).pretty()
    

11. 投影

  • 在结果中显示指定的字段

    db.集合名.find({},{字段1:1,字段2:0})

    1显示字段,0不显示字段,默认为显示

    db.hero.find({},{name:1,_id:0})
    

     

12. 排序

  • db.集合名.find().sort({字段:1}) ,1表示升序,-1降序

db.hero.find().sort({age:1})

13. 统计

db.coll_name.find({字段1,值}).count()

或者 db.coll_name.count({字段1,值})

db.hero.find({age:18}).count()
db.hero.count({age:{$gt:23}})

14. 消除重复

db.coll_name.distinct({字段1,值})

db.hero.distinct('age')
db.hero.distinct('age',{age:{$gt:18}})

15. 自定义函数(略少)

db.hero.find({$where: function() {return this.age<=18}})

16. 备份与恢复

  • 备份/恢复集合

    /d 表示数据库 /c 表示集合 /o 表示保存

    mongoexport /d test /c hero /o xxx.json   # 备份
    
    mongoimport /d test /c hero1 /file xxx.json #还原
    
  • 备份/还原数据库

    #备份
    mongodump -h 数据库主机地址 -d 数据库名 -o 路径
    -h:数据库主机地址 
    -d:需要备份的数据库名称 
    -o:备份的数据存放位置,此目录中存放着备份出来的数据
    
    #还原
    mongorestore -h dbhost -d dbname --dir dbdirectory
    -h:服务器地址,如果不是本地恢复,可以用ip:端口
    -d:需要恢复的数据库
    --dir:备份数据所在位置
    
    mongodump -d test -o ./  #备份
    mongorestore -d mytest --dir ./test #还原
    

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值