原子操作
所谓原子操作,就是要么执行成功,要么执行失败,执行成功完成既定任务,执行失败还原执行前的状态。 常用原子操作命令:
1) $set 用来指定一个键并更新键值,若键不存在则创建。
{ $set : { field : value } }
2) $unset 用来删除一个键。
{ $unset : { field : 1} }
3) inc</strong>inc</strong>inc 可以对文档的某个值为数字型(只能为满足要求的数字)的键进行增减的操作。
{ $inc : { field : value } }
4) $push 把 value 追加到 field 里面去,field 一定要是数组类型才行,如果 field 不存在,会新增一个数组类型加进去。
{ $push : { field : value } }
5) $pushAll 同 $push ,只是一次可以追加多个值到一个数组字段内。(解析公式失败)
{ $pushAll : { field : value_array } }
6) $pull 从数组 field 内删除一个等于 value 值。
{ $pull : { field : _value } }
7) $addToSet 增加一个值到数组内,而且只有当这个值不在数组内才增加。
8) $pop 删除数组的第一个或最后一个元素。
{ $pop : { field : 1 } }
9) $rename 修改字段名称
{ $rename : { old_field_name : new_field_name } }
10) $bit 位操作,integer 类型
{$bit : { field : {and : 5}}}