1、插入文档
db.[documentName].insert({...})
db.person.insert({name:"zhangsan"})
2、批量插入:
这样执行是错误的: db.[documentName].insert([{...},{...}])
批量插入在shell中可以通过for循环完成
3、save 与 insert的区别在于当遇到_id相的情况下 save完成保存操作(对于hibernate的merge方法),insert则分报错
4、删除列表中的数据
db.[documentName].remove()
集合本身和索引不会被删除
5、根据条件删除
db.[documentName].remove({查询条件})
6、强硬的文档替换更新操作
db.[documentName].update({查询器},{修改改器})
会用新的文档替换老的文档,主键冲突会报错
7、insertOrUpdate操作
db.[documentName].update({查询器},{修改改器},true)
8、批量更新
db.[documentName].update({查询器},{修改改器},false,true) 必须要用和$set:修改器工作
9、修改器
名称 语法 作用
$set {$set:{field:value}} 它用来指定一个键值对,存在就修改否则添加
$inc {$inc:{field:value}} 只能作用数字类型,对数值进行加减操作
$unset {$unset:{field:1}} 删除指定键
$push {$push:{field:value}} 为指定的数组增加新值,不存在则创建
$pushAll {$pushAll:{field:arr}} 同push,只是增加的是数组
$addToSet {$addToSet:{field:vakye}} 目标数据存在此项就不操作,否则增加
db.[documentName].insert({...})
db.person.insert({name:"zhangsan"})
2、批量插入:
这样执行是错误的: db.[documentName].insert([{...},{...}])
批量插入在shell中可以通过for循环完成
3、save 与 insert的区别在于当遇到_id相的情况下 save完成保存操作(对于hibernate的merge方法),insert则分报错
4、删除列表中的数据
db.[documentName].remove()
集合本身和索引不会被删除
5、根据条件删除
db.[documentName].remove({查询条件})
6、强硬的文档替换更新操作
db.[documentName].update({查询器},{修改改器})
会用新的文档替换老的文档,主键冲突会报错
7、insertOrUpdate操作
db.[documentName].update({查询器},{修改改器},true)
8、批量更新
db.[documentName].update({查询器},{修改改器},false,true) 必须要用和$set:修改器工作
9、修改器
名称 语法 作用
$set {$set:{field:value}} 它用来指定一个键值对,存在就修改否则添加
$inc {$inc:{field:value}} 只能作用数字类型,对数值进行加减操作
$unset {$unset:{field:1}} 删除指定键
$push {$push:{field:value}} 为指定的数组增加新值,不存在则创建
$pushAll {$pushAll:{field:arr}} 同push,只是增加的是数组
$addToSet {$addToSet:{field:vakye}} 目标数据存在此项就不操作,否则增加