MongoDB 文档【行】

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

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

⒊文档需要注意的是:

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

⒋文档键命名规范:

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

⒌文档的数据结构和 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()
posted @ 2020-01-10 15:39  SpringCore  阅读(316)  评论(0编辑  收藏  举报