<h2>
<strong>注意事项:</strong>
</h2>
1、数据库名注意应该全部小写,不能包含空格,最大长度为64K名称<br />
2、数据库存储为多个文件,库名:Per ,文件:Per1、Per2 等,库名:Sun ,文件:Sun1、Sun2 等,但是单个文件最大为2G<br />
3、集合和索引对应的命名空间元数据保存在.ns文件中<br />
<br />
<br />
<h2>
表:
</h2>
1、存储的数据字段为强类型,“age”与“Age”是两个不同的属性<br />
2、同一行数据的列明不能重复<br />
3、列名是有顺序的,相同列名与内容,顺序不同为2条记录,{“name”:1,"age":2} 与 {"age":2,“name”:1} 是两条记录<br />
4、尽量将相同结构的文档放在一个集合里面,因为创建的索引页会有结构。不同结构的数据会影响索引效率<br />
5、db.createCollection("XXXXX") 创建集合<br />
6、当实例启动的时候 加上--objcheck 选项的时候,会对象数据库插入的内容做校验,无效的格式不允许插入<br />
7、{“$addToSet”:{“emails”:“[email protected]”}} 如果集合存在则不进行添加,如果不存在则进行创建<br />
8、$addToSet 与 $each 组合使用 {“$addToSet”:{“emails”:{“$each”:["[email protected]","[email protected]"]}}} ,批量添加,并且进行是否存在判断。<br />
9、$pop 数组删除操作 {"$pop":{"emails":-1}} 开头删除一个 {"$pop":{"emails":1}} 结尾删除一个<br />
10、数组可以使用下标index进行修改 db.sun.update({"name":"sun"},{“$set”:{"like.0":"haha"}}) 修改like数组里面第一个数据<br />
11、数组集合的内容还可以根据条件进行更新,使用$符号<br />
<span style="white-space:pre"></span>db.sun.update({"address.city":"shanghai"},{"$set":{"address.$.state":"HH"}})<br />
<span style="white-space:pre"></span>根据子对象条件搜索,修改子对象<br />
12、update 方法,第3个参数为不存在则进行创建,第4个参数为是否可以进行批量修改,默认为根据查询器修改匹配到的第一条<br />
13、db.runCommand({getLastError:1}) 获取上一次更新的情况<br />
14、findAndModify() //查询后,执行更新或者删除,<br />
<span style="white-space:pre"></span>db.runCommand({"findAndModify":"表名",<br />
<span style="white-space:pre"></span>"query":"查询条件",<br />
<span style="white-space:pre"></span>"sort":"排序条件",<br />
<span style="white-space:pre"></span>"update":"根据查询条件更新的内容"<br />
<span style="white-space:pre"></span>"remove":false,//"删除和更新只能存在一个"<br />
<span style="white-space:pre"></span>"new":false //返回的记录是更新前还是更新后的})