美文网首页
Mongodb数据的增,删,改

Mongodb数据的增,删,改

作者: IT的咸鱼 | 来源:发表于2018-11-12 18:56 被阅读0次
    对比关系型数据库与非关系型数据库的相关术语: 下表列出了 RDBMS (关系数据库管理系统)与 MongoDB 对应的术语:
    RDBMS MongoDB
    数据库 数据库
    表格 集合
    文档
    字段
    表联合 嵌入文档
    主键 主键 (MongoDB 提供了 key 为 _id )
    Mongodb数据类型
    数据类型 描述
    string 字符串,存储数据的常用类型,在Mongodb中,UTF-8编码的字符串才是有效的
    integer 整型数值,用于存储数值.根据你所采用的服务器,可分为32位或64位
    Boolean 布尔值(真/假)
    Double 双精度浮点值。用于存储浮点值。
    Array 用于将数组或列表或多个值存储为一个键。
    Timestamp 时间戳。记录文档修改或添加的具体时间。
    Object 用于嵌入式的文档,即一个值为一个文档
    Null 用于创建空值。
    Date 日期时间。用 UNIX 时间格式来存储当前日期或时间。你可以指定自己的日期时间:创建 Date 对象,传入年月日信息。
    Object ID 对象 ID。用于创建文档的 ID。
    Binary Data 二进制数据。用于存储二进制数据。
    ObjectId

    ObjectId 类似唯一主键,可以很快的去生成和排序

    • 每个文档都有一个属性,为_id,保证每个文档的唯一性
    • 可以自己去设置_id插入文档
    • 如果没有提供,那么MongoDB为每个文档提供了一个独特的_id,类型为objectID
    • objectID是一个12字节的十六进制数
      • 前4个字节为当前时间戳
      • 接下来3个字节的机器ID
      • 接下来的2个字节中MongoDB的服务进程id
      • 最后3个字节是简单的增量值

    插入文档

    语法
    db.集合名称.insert(document)
    

    注意:插入文档时,如果不指定_id参数,MongoDB会为文档分配一个唯一的ObjectId

    举例
    db.集合名称.insert({name:'小明',gender:'男'})
    db.集合名称.insert({_id:'123456',name:'小明',gender:'男'})
    
    多条插入
    db.集合名称.insert([{name:'张三'},{name:'李四'}])
    
    在3.2版本之后还提供了插入多条数据和插入单条数据的方法
    db.集合名称.insertOne(document) 
    db.集合名称.insertMany(document)
    

    更新文档

    • Mongodb使用update()和save()方法来更新集合中的文档

    update() 方法

    update() 方法用于更新已存在的文档

    db.collection.update(
    <query>,
    <update>,
    {
        upsert: <boolean>,
        multi: <boolean>,
    }
    )
    
    参数 说明
    query update的查询条件,类似sql update查询内where后面的。
    update update的对象和一些更新的操作符(如,inc...)等,也可以理解为sql update查询内set后面的
    upsert 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
    multi 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
    例1:全文档更新

    db.stu.update({name:'xxxxx'},{name:'张xxx'})

    例2:指定属性更新,通过操作符$set

    db.stu.insert({name:'李自成',gender:1})
    db.stu.update({name:'李自成'},{$set:{name:'闯王李自成'}})

    例3:修改多条匹配到的数据(跟新所有name为‘李自成’的文档的dender字段)

    db.stu.update({name:'李自成'},{$set:{gender:0}},{multi:true})

    save() 方法

    • save() 方法通过传入的文档来替换已有文档,如果文档的_id已经存在则修改,如果文档的_id不存在则添加 db.集合名称.save(document)
    例1

    db.stu.save({_id:'20180820101010','name':'保存',gender:1})

    例2

    db.stu.save({_id:'20180820101010','name':'跟新'})

    删除文档

    • 语法 remove() 方法的基本语法格式如下所示:
    db.collection.remove(
    <query>,
    {
        justOne: <boolean>,
    }
    )
    
    参数 说明
    query (可选)删除的文档的条件。
    justOne (可选)如果设为 true 或 1,则只删除一个文档。
    例1

    db.集合名称.remove(document)

    例2
    • 只删除1条,1表示是否只删除一条为true的意思

    db.集合名称.remove(document,1)
    db.集合名称.remove(document,{justOne:true})

    例3
    • 表示删除全部

    db.集合名称.remove({})

    相关文章

      网友评论

          本文标题:Mongodb数据的增,删,改

          本文链接:https://www.haomeiwen.com/subject/faeotqtx.html