a.文档是MongoDB的核心概念,多个键及其关联的值有序地放置在一起便是文档 ps:多个键值对便是文档
例如,在javascript,文档表示为对象:{"name" : "Elvin","age" : 22} --文档1
{"age" : 22,"name" : "Elvin"} --文档2
b.文档的键/值对是有序的,文档1和文档2是完全不同的。
c.文档里面的键是字符串。除了少数例外情况,键可以使用任意UTF-8字符
d.文档的值不仅可以是双引号里面的字符串,还可以是其他几种数据类型 ps:甚至可以嵌入整个文档
e.MongoDB不但区分类型,还区分大小写。例如,下面的文档是不同的
{"foo" : 3} 和{"foo" : "3"}
{"Foo" : 3} 和{"foo" : 3}
还有一个特别需要注意的事项就是:
MongoDB不能有重复的键
集合就是一组文档。如果MongoDB中的文档类似于关系型数据库的行 那么集合就如同表。
a.无模式
集合是无模式的。这意味着一个集合里的文档可以是各式各样的。例如,下面俩个文档可以存在一个集合里面:
{"name"} : "Elvin"}
{"age" : 22
b.集合的命名
c.子集合
组织集合的一种惯例是使用“.”字符分开的按命名空间划分的子集合。例如 一个博客功能的应用可能包含两个集合
分别是blog.posts和blog.authors,这样做的目的是使组织结构更好些。
MongoDB中多个文档组成集合,同样 多个集合可以组成数据库。
和集合一样,数据库也通过名字来标示,数据库名可以是满足一下条件的任意UTF-8字符
要记住一点,数据库名最终会变成文件系统里面的文件,这也是诸多限制的原因。
有一些数据库是保留的,可以直接访问
把数据库名字放到集合名前面,得到的就是完全限定名,成为命名空间。命名空间的名字不得超过121字节,一般应小于100字节。
原文:http://www.cnblogs.com/ElvinLong/p/3613813.html