1)文档的命名:<1> 不能含有空格 <2> “.” ,“_”和“$”是保留字,不能随便使用;
2)集合的命名:<1> 不能包含空格 <2> “$” 是保留字 <3> “system.”是保留前辍;
3)数据库的命名:<1> 不能包含空格 <2> 应全部小写;
4)文档虽然是类似字典那样的格式,但其实是有序的,键的顺序不同,文档也就不同;
5)mongodb推荐使用.来划分子集合,例如blog.posts和blog.authors是在blog这个命名空间下的子集合,但其实他们和blog这个集合没有任何关系,仅仅是为了让组织结构更好些;
6)数据库名最终会变成文件系统里的文件,一个数据库在磁盘上对应一个文件;
7)不同的数据库可以有独立的权限控制;
8)admin、local和config是保留数据库。其中admin用于添加权限为root的用户;
9)开启shell客户端的时候,shell会连到mongodb服务器的test数据库,并将这个数据库连接赋值给全局变量db;
10)选择要使用的数据库: use somedb
11)对集合中文档的添删改查操作:
<1> 添加: post = {"title":"hello","content":"abcdefg","date":new Date()}
db.blog.insert(post)
<2> 读取:db.blog.findOne() db.blog.find()
<3> 更新:db.blog.update({"title":"hello"},post)
<4> 删除:db.blog.remove({"title":"hello"})
12)用help、db.help()、db.foo.help()分别可以查看全局、数据库级和集合级的帮助;
13)文档必须有一个“_id”键,每个集合中的文档“_id”值不可以相同,但不同集合中的文档可以有相同的“_id”值;
14)使用修改器进行更改操作更安全也更高效,并可有效防止“_id”冲突问题, 常见的修改器有$inc自动添加,$set单独修改,$unset单独删除,$push、$pop、$pull操作数组。