1.4 MongoDB 中的数据操作

数据类型

  • 下表为MongoDB中常用的几种数据类型:

    Object ID:文档ID
    String:字符串,最常用,必须是有效的UTF-8
    Boolean:存储一个布尔值,true或false
    Integer:整数可以是32位或64位,这取决于服务器
    Double:存储浮点值
    Arrays:数组或列表,多个值存储到一个键
    Object:用于嵌入式的文档,即一个值为一个文档
    Null:存储Null值
    Timestamp:时间戳
    Date:存储当前日期或时间的UNIX时间格式

object id

  • 每个文档都有一个属性,为_id,保证每个文档的唯一性
  • 可以自己去设置_id插入文档
  • 如果没有提供,那么MongoDB为每个文档提供了一个独特的_id,类型为objectID
  • objectID是一个12字节的十六进制数

    前4个字节为当前时间戳
    接下来3个字节的机器ID
    接下来的2个字节中MongoDB的服务进程id
    最后3个字节是简单的增量值

数据操作

插入

  • 语法
    db.集合名称.insert(document)
    
    • 插入文档时,如果不指定_id参数,MongoDB会为文档分配一个唯一的ObjectId
    • 例1
    db.stu.insert({name:'gj',gender:1})
    
    • 例2
    s1={_id:'20160101',name:'hr'}
    s1.gender=0
    db.stu.insert(s1)
    

简单查询

  • 语法
    db.集合名称.find()
    

更新

  • 语法
    db.集合名称.update(
    	<query>,
     	<update>,
     	{multi: <boolean>}
    )
    
  1. 参数query:查询条件,类似sql语句update中where部分
  2. 参数update:更新操作符,类似sql语句update中set部分
  3. 参数multi:可选,默认是false,表示只更新找到的第一条记录,值为true表示把满足条件的文档全部更新
  • 例:全文档更新
    db.stu.update({name:'hr'},{name:'mnc'})
    
  • 例:指定属性更新,通过操作符$set
    db.stu.insert({name:'hr',gender:0})
    db.stu.update({name:'hr'},{$set:{name:'hys'}})
    
  • 例:修改多条匹配到的数据
    db.stu.update({},{$set:{gender:0}},{multi:true})
    

保存

  • 语法

    db.集合名称.save(document)
    

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

  • db.stu.save({_id:'20160102','name':'yk',gender:1})
    
  • db.stu.save({_id:'20160102','name':'wyk'})
    

删除

  • 语法
    db.集合名称.remove(
    	 <query>,
    	{
     		justOne: <boolean>
    	}
    )
    
  1. 参数query:可选,删除的文档的条件
  2. 参数justOne:可选,如果设为true或1,则只删除一条,默认false,表示删除多条
  • 例:只删除匹配到的第一条
    db.stu.remove({gender:0},{justOne:true})
    
  • 例:全部删除
    db.stu.remove({})
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值