MongoDB文档和集合

简介: 1、文档是MongoDB最核心的概念,本质上是一种类JOSN的BSON格式的数据。 BSON是一种类JSON的二进制格式数据,它可以理解为在JSON基础上添加了一些新的数据类型,包括日期、int32、int64等。 BSON是由一组组键值对组成,它具有轻量性、可遍历性和高效性三个特征。可遍历性是MongoDB将BSON作为数据存储的主要原因。 { fie

1、文档是MongoDB最核心的概念,本质上是一种类JOSN的BSON格式的数据。
BSON是一种类JSON的二进制格式数据,它可以理解为在JSON基础上添加了一些新的数据类型,包括日期、int32、int64等。
BSON是由一组组键值对组成,它具有轻量性、可遍历性和高效性三个特征。可遍历性是MongoDB将BSON作为数据存储的主要原因。

{ 
  field1:value1, 
  field2:value2, 
  field3:value3, 
  field4:value4, 
 } 

2、使用MongoDB文档时需要注意:
MongoDB中写操作的原子性限制在文档级别,对文档的保存、修改、删除等都是原子操作。
单个文档占用的存储空间不能超过16MB
MongoDB会尽量保持文档被插入时键值对的顺序。
3、文档键的命名需要注意:
_id是系统保留的关键字,他是默认的主键,该值在集合中必须唯一,且不可更改。
键不能包含\0或空字符,这个字符用于表示键的结尾。
不能用$开头。
不能包含.(点号)。
键是区分大小写的且不能重复的
4、集合
把一组相关的文档放在一起组成了集合,如果将MongoDB的一个文档比喻成关系型数据库中的一行,那么一个集合就相当于一张表。
MongoDB的集合是模式自由的,一个集合里的文档可以是各式各样的。
5、集合命名需要注意:
集合名不能是空字符串
集合名不能含有\0字符(空字符),该字符表示集合名的结尾。
集合名不能以"system."开头,此前缀是系统本身保留的。
集合名中不能包含$字符(注:可包含.
6、数据库
多个文档组成集合,多个集合组成数据库。一个MongoDB实例可以承载多个数据库,每个数据库都有独立的权限,在磁盘上,不同数据库也可放置在不同的文件夹中(启动时加directoryperdb选项)。
7、数据库命名注意:
不能是空字符串
不能以$开头
不能包含.(点号)和空字符串
数据库名字区分大小写(建议数据库名全部使用小写)
数据库名长度最多64字节
不能与系统保留的数据库名字相同,比如:admin\local\config
8、命名空间
把数据库名添加到集合名字前面,中间用点号连接,得到集合的完全限定名,就是命名空间,例如:jk.blog
需要说明的是点号可以出现在集合名字中,例如:jk.blog.posts、jk.blog.authors,可以将posts和authors集合看作是blog集合的子集合。
使用子集合可以使我们更好的组织数据,使数据的结构更加清晰明了。

目录
相关文章
|
9月前
|
NoSQL MongoDB 微服务
微服务——MongoDB常用命令——文档的分页查询
本文介绍了文档分页查询的相关内容,包括统计查询、分页列表查询和排序查询。统计查询使用 `count()` 方法获取记录总数或按条件统计;分页查询通过 `limit()` 和 `skip()` 方法实现,控制返回和跳过的数据量;排序查询利用 `sort()` 方法,按指定字段升序(1)或降序(-1)排列。同时提示,`skip()`、`limit()` 和 `sort()` 的执行顺序与编写顺序无关,优先级为 `sort()` > `skip()` > `limit()`。
340 1
|
9月前
|
JSON NoSQL MongoDB
微服务——MongoDB常用命令——文档基本CRUD
本文介绍了MongoDB中文档的基本操作,包括插入、查询、更新和删除。单个文档插入使用`insert()`或`save()`方法,批量插入用`insertMany()`。查询所有文档用`find()`,条件查询可在`find()`中添加参数,投影查询控制返回字段。更新文档通过`update()`实现,支持覆盖修改、局部修改(使用`$set`)和批量修改。列值增长可用`$inc`实现。删除文档用`remove()`,需谨慎操作以免误删数据。此外,文档键值对有序,区分大小写,不能有重复键。
210 1
|
NoSQL MongoDB 数据库
MongoDB 更新文档
10月更文挑战第14天
281 2
|
NoSQL MongoDB 数据库
MongoDB 删除集合
10月更文挑战第14天
395 1
|
存储 NoSQL MongoDB
数据的存储--MongoDB文档存储(二)
数据的存储--MongoDB文档存储(二)
305 2
|
11月前
|
存储 监控 NoSQL
【赵渝强老师】MongoDB文档级别的并发控制
MongoDB使用WiredTiger存储引擎在文档级别进行并发控制,允许多个写操作同时修改不同文档,但对同一文档的修改需序列化执行。引擎采用乐观锁和意向锁机制处理冲突。通过视频讲解、插入大量文档示例及使用`mongotop`和`db.serverStatus()`命令,演示了如何监控MongoDB的锁信息和读写统计,展示了数据库和集合级别的写锁情况。
295 29
|
9月前
|
NoSQL 关系型数据库 MongoDB
微服务——MongoDB常用命令——集合操作
本节主要介绍MongoDB中的集合操作,包括显式与隐式创建集合的方法。显式创建使用`db.createCollection(name)`,需遵循命名规范(如不能以"system."开头或包含`\0`字符)。隐式创建则通过直接向不存在的集合插入文档实现,更为常用。此外,还介绍了集合删除方法`db.collection.drop()`及其返回值规则,帮助用户管理数据库中的集合资源。
348 0
|
缓存 NoSQL MongoDB
|
SQL NoSQL MongoDB
MongoDB 查询文档
10月更文挑战第15天
449 1
|
存储 NoSQL MongoDB
MongoDB 创建集合
10月更文挑战第13天
241 1

推荐镜像

更多