MongoDB

这篇博客详细介绍了MongoDB的基本操作,包括database和collection命令、数据类型、插入、查询、更新和删除数据,以及高级查询技巧如聚合操作、索引、数据备份和恢复。内容涵盖各种查询运算符、逻辑运算符、正则表达式,以及数据去重和排序等,是MongoDB学习者的实用参考。
摘要由CSDN通过智能技术生成

关于database基本命令

  • 查看当前数据库: db
  • 查看所有数据库: show dbs / show databases
  • 切换数据库: use db_name
  • 删除当前数据库: db.dropDatabase()

关于collection基础命令

  • 向不存在集合第一次插入数据, 集合会被创建
  • 手动创建集合
    • db.createCollection(name,options)

      db.createCollection("stu")
      
      db.createCollection("stu",{capped:true,size:10})
      
      1. 参数capped: 默认值为 false,表示不设置上限,值为true表示设置上限
      2. 参数size:当capped为true时,需要指定此参数,表示上限大小,当文档达到上限时,会将之前的数据覆盖,单位为字节
      • 查看集合:show collections
      • 删除集合: db.集合名.drop()

数据类型

  • ObjectId:文档ID
  • String字符串,最常用,必须是有效的UTF-8
  • Booleantrue或false
  • Integer:整数可以是32位或64位,这取决于服务器
  • Double:浮点数
  • Arrays:数组或列表,多个值存储到一个键
  • Object:用于镶嵌式的文档,即一个值为一个文档
  • Null存储Null值
  • Timestamp:时间戳,表示从1970-1-1到现在的总秒数
  • Date:存储当前时间或时间的UNIX时间格式

注意 (_id)

  • 创建日期语句如下:参考格式为YYYY-MM—DD new Date(“2021-01-07”)
  • 每一个文档都有一个属性,_id, 保证每一个文档的唯一性
  • 可以自己设置 _id 插入文档, 如果没有提供,那么MongoDB会为每一个文档提供一个独特的 _id, 类型为ObjectId
    • ObjectID是一个12字节的十六进制数:
      1. 前4个字节为当前时间戳
      2. 加下来3个字节为机器ID
      3. 接下来2个字节为MongoDB服务进程id
      4. 最后三个字节是最简单的增量值

插入数据

  • db.集合名称.insert(document)

    db.stu.insert({name:"zhangsan",gender:1})  
    
    db.stu.insert({_id:"20210107",name:"zhangsan",gender:1})  
    
    • 插入文档时, 如果不指定 _id 参数, MongoDB会为文档分配一个唯一的ObjectID
  • db.集合名称.save(document)

    • 如果文档 _id 已经存在则修改, 如果文档的 _id 不存在则添加

简单查询

  • db.集合名称.find()

更新数据

  • db.集合名称.update(,,{multi:})

  • 参数 query:查询条件

  • 参数 update:更新操作符

  • 参数 multi:可选,默认值 false,表示更新找到的第一条记录;值为 true 表示把满足条件的文档全部更新

    • 示例:
      1. 更新一条数据:
        db.stu.update({name:'oldName'},{name:;newName'})
        
      2. 更新一条数据:
         db.stu.update({name:'oldName'},{$set:{name:'newName'}})
        
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值