MongoDB文档原创
MongoDB文档
文档增加
- 单个文档插入 db.users.insert({a:'b'}) insert命令
- 多个文档批量插入 db.shop.batchInsert([{a:'b'},{c:'d'}])
- 批量插入可以在插入数据前对所有数据进行自定义
- 插入过程遇到错误会停止,且错误文档之前的全部存储成功,之后的全部失败
- 可以配置continueOnError来忽略错误继续之后的插入
文档删除
- 单个文档删除 db.users.list.remove({a:'a'})传入删除的集合。
- 所有文档删除 db.users.remove(),但是不会删除集合以及元信息。
- 集合删除 db.users.drop(),速度更快,集合所有的文档包括元信息全部删除
- 不可撤销,不可恢复
文档更新
- 第一个参数为查询参数,第二个参数为修改器 db.users.update(docs:{},modifier:{})
- 查询参数:建议使用ObjectId(来匹配),防止匹配到多个文档更新失败
- 修改器:可以为文档,会进行整体替换,可以为原子修改器
- $set:{'$set':{'updateBefore': 'updateAfter'}}修改指定属性,属性名支持嵌套点语法
- $inc:{'$inc':{'number':2}}将指定的键值增加2,键不存在会自动创建。只适用于数值类型的键
- $push:{'$push':{'array':{'key':'val'}}}向指定的数组尾部添加一个对象,如果数组不存在则自动创建
- $each:{'$push':{'array':{'$each':[{'key':'val'},{'key2':'val2'}]}}}配合push可以一次插入多个对象
- 第三个参数为true,则会在进行更新时判断如果找不到匹配的文档,根据匹配条件自动创建一个新的
- 第四个参数为为true,则会将所有匹配到的文档都进行更新。