MongoDB简介
MongoDB 是一个文档数据库,旨在简化应用程序开发和扩展。
mongodb采用文档式存储结构,存储结构分为四个层次:键值对、文档、集合、数据库。
文档数据库存储结构的基本单位是键值对,具体包含数据和类型。键值对的数据包含键和值,键的格式一般为字符串,值的格式可以包含字符串、数值、数组、文档等类型。
文档是mongodb的核心概念,是数据的基本单元,文档的数据结构和json基本相同,实际存储时是bson(binary json)。
文档存储在集合中,一个集合是由一些文档构成的对象。文档类似于关系型数据库的行,集合类似于表。同一个集合可以插入不同格式的文档,但是通常情况下一个集合中的文档应该具有相关性。
数据库包含多个集合,通常一个应用的所有数据存储到同一个数据库。
mongodb的最大优点是非常适合层级式的数据存储。举个简单例子,比如A对象包含B对象,B对象包含C对象,关系型数据库应该会存三个表,查询时也需要三个表进行关联。而文档数据库可以把ABC三个对象按照层级关系作为一个文档存储到一个集合中,整存整取。
此外,mongodb支持分布式存储,可以满足海量数据的存储和查询。
缺点:1)不支持事务;2)key字段占用额外空间
参考文档: