zoukankan      html  css  js  c++  java
  • MongoDB 文档【行】

    ⒈MongoDB是一款文档型的Nosql数据库,存入数据库的数据是以文档为原型的,也就相当于传统关系型数据库中行

    ⒉文档是一组键值对(key-value)。MongoDB 的文档不需要设置相同的字段,并且相同的字段不需要相同的数据类型,这与关系型数据库有很大的区别,也是 MongoDB 非常突出的特点。

    ⒊文档需要注意的是:

    • 文档中的键/值对是有序的。
    • 文档中的值不仅可以是在双引号里面的字符串,还可以是其他几种数据类型(甚至可以是整个嵌入的文档)。
    • MongoDB区分类型和大小写。
    • MongoDB的文档不能有重复的键。
    • 文档的键是字符串。除了少数例外情况,键可以使用任意UTF-8字符。

    ⒋文档键命名规范:

    • 键不能含有 (空字符)。这个字符用来表示键的结尾。
    • .和$有特别的意义,只有在特定环境下才能使用。
    • 以下划线"_"开头的键是保留的(不是严格要求的)。

    ⒌文档的数据结构和 JSON 基本一样,但它是以BSON格式进行存储的。BSON 是一种类似 JSON 的二进制形式的存储格式,是 Binary JSON 的简称。

    ⒍一些常见用法

      1.插入文档(插入一行数据),向集合中插入文档时,如果该集合在该数据库中不存在, MongoDB 会自动创建该集合并插入文档。

    db.collectionName.insert(document)
    db.collectionName.save(document)

      示例:

    db.col.insert({title: 'MongoDB 教程', 
        description: 'MongoDB 是一个 Nosql 数据库',
        by: 'coreqi',
        url: 'http://www.coreqi.cn',
        tags: ['mongodb', 'database', 'NoSQL'],
        likes: 100
    })

        我们也可以将文档定义为一个变量

    document=({title: 'MongoDB 教程', 
        description: 'MongoDB 是一个 Nosql 数据库',
        by: 'coreqi',
        url: 'http://www.coreqi.cn',
        tags: ['mongodb', 'database', 'NoSQL'],
        likes: 100
    });

        然后再执行插入操作

    db.col.insert(document)

      2.更新文档

        1.update()【用于更新已经存在的文档】

    db.collection.update(
       <query>,
       <update>,
       {
         upsert: <boolean>,
         multi: <boolean>,
         writeConcern: <document>
       }
    )

        参数说明:

      • query : update的查询条件,类似sql update查询内where后面的。
      • update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
      • upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
      • multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
      • writeConcern :可选,抛出异常的级别。

        示例:

          首先,我们先插入一条数据

    db.col.insert({
        title: 'MongoDB 教程', 
        description: 'MongoDB 是一个 Nosql 数据库',
        by: 'Coreqi',
        url: 'http://www.coreqi.cn',
        tags: ['mongodb', 'database', 'NoSQL'],
        likes: 100
    })

          然后,我们使用update()方法来更新文档的标题(title)

    db.col.update({'title':'MongoDB 教程'},{$set:{'title':'去他娘的MongoDB'}})

          这条语句只会修改第一条发现的文档,如果你要修改多条相同的文档,则需要设置 multi 参数为 true。

    db.col.update({'title':'MongoDB 教程'},{$set:{'title':'去他娘的MongoDB'}},{multi:true})

        2.save()方法,save() 方法通过传入的文档来替换已有文档。

    db.collection.save(
       <document>,
       {
         writeConcern: <document>
       }
    )

          参数说明:

        • document : 文档数据。
        • writeConcern :可选,抛出异常的级别。

          示例:在下面的实例中我们替换了 _id 为 56064f89ade2f21f36b03136 的文档数据:

    db.col.save({
        "_id" : ObjectId("56064f89ade2f21f36b03136"),
        "title" : "MongoDB",
        "description" : "MongoDB 是一个 Nosql 数据库",
        "by" : "Coreqi",
        "url" : "http://www.coreqi.cn",
        "tags" : [
                "mongodb",
                "NoSQL"
        ],
        "likes" : 110
    })

      3.删除文档

      MongoDB使用remove()函数用来移除集合中的数据。

    2.查看集合中所有文档(查看表中的数据行数据)

    db.collectionName.find()
  • 相关阅读:
    B-Tree和B+Tree的区别
    b树和hash树的应用场景
    比较顺序表和链表的优缺点,说说它们分别在什么场景下使用?
    5V与3.3V电平互转
    100M双绞线接头的标准接法
    解决openwrt中文界面异常
    刚刚开通了博客
    openwrt挂载摄像头及视频保存
    mwan3多wan叠加成功
    贝尔金(Belkin)7231-4P tftp救砖
  • 原文地址:https://www.cnblogs.com/fanqisoft/p/12176414.html
Copyright © 2011-2022 走看看