Logo
Section 1 / 5

核心 MongoDB 概念

本课程简要介绍了 MongoDB 的结构,并讲解了 MongoDB 文档。

导入

核心 MongoDB 概念

本课程简要介绍了 MongoDB 的结构,并讲解了 MongoDB 文档。

在上一章——NoSQL与多语言持久化简介中,我们介绍了NoSQL数据库的定义、使用场景以及在系统中采用NoSQL的优势。同时提到了不同类型的NoSQL数据库及其最具代表性的实例。

其中一种类型是文档型NoSQL数据库。

文档数据库可能是NoSQL生态系统中最接近关系型数据库的一种。

文档数据库将文档存储在集合(collections)中,这与关系型数据库将行存储在表中的方式非常相似;但我们会稍后再深入探讨这一点。

文档数据库中最受欢迎的代表之一,也是领先的NoSQL数据库之一,就是MongoDB。

...

基础入门

在了解MongoDB的各种应用场景之前,我们先来掌握一些该数据库的基本概念。

MongoDB团队非常自豪地提出了他们称之为“Nexus架构”的设计理念。这种架构能够融合关系型数据库的经典特性与NoSQL技术的创新优势。

...

MongoDB文档

MongoDB是一种面向文档的数据库,正如前文所述,它与关系型数据库具有某些相似之处。

与关系型数据库以行的形式存储数据不同,MongoDB使用的是文档。不同于关系型数据库中一条记录的数据分散在多个表中,MongoDB将某个记录的所有信息都集中存储在一个单一文档内。

从底层来看,文档是以BSON格式存储的,BSON是JSON文件的二进制编码序列化形式。但从程序员的角度来看,MongoDB操作的是纯JSON格式的数据。

例如,我们可以这样表示一个user对象:

1{ 2 "_id" : ObjectId("58e28d41b1ad7d0c5cd27549"), 3 "name" : "Nikola Zivkovic", 4 "blog" : "rubikscode.net", 5 "numberOfArticles" : 10, 6 "Adress" : { 7 "street" : "some street", 8 "city" : "Novi Sad", 9 "country" : "Serbia" 10 }, 11 "company" : "Vega IT Sourcing", 12 "expertise" : [".NET", "JavaScript", "NoSQL", "Node.js"] 13}

如你所见:

  • 该JSON文档开头包含一个_id字段。

这个字段是唯一的,由MongoDB为数据库中的每个文档自动生成。

这种方式使MongoDB保持了关系型数据库的重要特性之一——强一致性。


本节课我们仅初步介绍了MongoDB的结构。在下一节课中,我们将更深入地讨论MongoDB中的**集合(Collections)**概念。

NoSQL 和多语言持久化简介

MongoDB中的集合