返回目录
MongoDB是跨平台的、一个基于分布式文件存储的数据库。由C++语言编写。用它创建的数据库具备性能高、可用性强、易于扩展等特点。MongoDB将数据存储为一个文档,数据结构由键值(key:value)对组成。MongoDB文档类似于JSON对象。字段值可以包含字符串、数字、数组、当然也可以是另一个文档。文档是可以嵌套的。
在MongoDB中基本的概念是文档、集合、数据库,下表可以帮助更容易的理解MongoDB的概念:
关系型数据库 MongoDB 数据库 数据库 表 集合 行 文档 列 字段 表Join 内嵌文档 主键 主键,MongoDB自动将_id字段设置为主键文档相当于关系型数据库中的行。它一组键值对,具有动态的模式,所以文档不需要设置相同的字段,并且相同的字段不需要相同的数据类型,这一点,跟关系型数据库有很大的不同。
注:
文档中的键/值对是有序的。 MongoDB区分类型和大小写。 MongoDB的文档不能有重复的键。 键不能含有\0(空字符)。 .和$有特别的意义,只有在特定环境下才能使用。集合相当于关系型数据库中的表。集合就是一组MongoDB文档。集合存在于数据库中,集合没有固定的结构,这意味着可以对集合插入不同格式和类型的数据,但通常情况下我们插入集合的数据都会有一定的关联性。
注:
集合名不能是空字符串""。 集合名不能含有\0字符(空字符),这个字符表示集合名的结尾。 集合名不能以"system."开头,这是为系统集合保留的前缀。 集合名用户创建的集合名字不能含有保留字符。有些驱动程序的确支持在集合名里面包含,这是因为某些系统生成的集合中包含该字符。除非你要访问这种系统创建的集合,否则千万不要在名字里出现$。数据库是集合的实际容器。每一数据库都在文件系统中有自己的一组文件。一个MongoDB服务器通常有多个数据库。
注:
不能是空字符串("")。 不得含有(空格)、.、$、/、\和\0(空宇符)。 应全部小写。 最多64字节。下面这个范例展示了一个人的关系网的文档结构,它是由逗号分隔的键值对构成的
{ _id:ObjectId(7df78ad8902c) name:Liruihuan, age:18, blogs:http://www.cnblogs.com/liruihuan/, friends:[ { name:user1, age:18, friends:[...] }, { name:user2, age:18, friends:[...] } ] }注:_id是一个12字节长的十六进制数,它保证了每一个文档的唯一性。在插入文档时,需要提供_id。如果你不提供,那么MongoDB就会为每一文档提供一个唯一的id。_id的头4个字节代表的是当前的时间戳,接着的后3个字节表示的是机器id号,接着的2个字节表示MongoDB服务器进程id,最后的3个字节代表递增值。
业精于勤,荒于嬉;行成于思,毁于随。
如果你觉得这篇文章不错或者对你有所帮助,可以通过右侧【打赏】功能,给予博主一点点鼓励和支持
本文内容总结:1、什么是MongoDB,2、概念,2.1、文档,2.2、集合,2.3、数据库,2.4、范例,3、使用MongoDB的优势,4、适用场景,5、应用案例,
原文链接:https://www.cnblogs.com/liruihuan/p/6658528.html