文档是Mongodb中数据的基本单元,类型关系型数据库中的行,每个文档都有一个键值唯一的键_id。集合可以看做拥有动态模式的表。
Mongodb一个实例可以拥有多个相互独立的数据库。
Mongodb区分类型,区分大小写,文档中内容不能有重复的键,文档中的键值对是有序的。
集合名:
集合名不能是空字符串,不能包含\0字符,这表示集合名结束。
集合名不能已system.开头,这是系统集合保留的前缀。
集合名不能包含保留字符。
数据库名:
不能是空字符串,基本上只能使用ASSCII中的字母和数字。库名区分大小写。库名最多为64字节。
admin --- root数据库
local --- 这个数据库永远都不可以复制。
config --- 分片信息存储在config数据库中。
把数据库名添加到集合名前,得到集合的完全限定名,即命名空间。 例: cms.blog.posts.
子集合:
组织集合中惯例 使用 . 分割不同的命名空间的子集合。 例如: blog.posts blog.authors
这里的blog集合跟它的子集合没有任何关系。
端口:
默认监听 : 27017 端口。
http服务器 默认监听 : 28017 端口。
Mongodb基本数据类型:
null 布尔型 数值 字符串 日期 正则表达式 数组 内嵌文档 对象id 二进制数据 js代码。
日期被保存为毫秒数。
创建日期对象时,应使用 new Date() 而不是Date 直接函数调用。
作为Date() 函数直接调用返回的是日期的字符串形式,不是Date对象。
Mongodb 能深入内嵌文档结构,数组结构内部对其内容进行操作。并且构建索引。
默认的ObjectId:
ObjectId可以是任何类型的,默认是个Object对象。
使用12字节存储空间: 使用时间戳 机器 计数器构建。
将新建ID的工作放在客户端,能更好的减轻数据库负担。
Mongodb Shell :
db.help() 查看数据库级别帮助, db.foo.help() 查看集合级别的帮助。
使用shell 执行js文件:
mongo **.js
或: load(‘**.js‘)
.mongorc.js 文件是mongodb默认加载文件。
可以设置EDITOR变量 :
例: EDITOR="/usr/bin/emacs"
var wap = ....
edit wap
这样就能使用emacs 来编辑 wap变量。
访问一些特殊集合:
db.getCollection(‘version‘);