mongo 修改器
[$inc]
作用:修改器$inc可以对文档的某个值为数字型(只能为满足要求的数字)的键进行增减的操作。
Example: db.b.update({"uid" : "201203"},{"$inc":{"size" : 1}})
Array: array(‘$inc=>array(“size”=>1))
[$set]
作用:用来置顶一个键并更新键,若键不存在则创建
Example: db.b.update({"uid" : "201203"},{"$set":{"size" : 1}})
Array: array(‘$set=>array(“size”=>1))
[$gt] ===== 大于
[$gte] ===== 大于等于
[$lt] ===== 小于
[$lte] ===== 小于等于
[$ne] ===== 不等于
Example: db.b.find({age:{$gt:18}}) ==> age>18
Array: array(‘age’=>array(“$gt”=>18))
[$in]
作用:包含
[$nin]
作用:not in
Example: db.b.find({age:{$in:[20,22,32,12]}})
Array:array(“age”=>array(‘$in’=>“20”,”22”,”32”,”12”))
[$not]
作用:不匹配
Example:
查询不匹配name=B*带头的记录
db.users.find({“name”:{$not:/^B.*/}})
查询age取摩不等于10的数据
Db.users.find( {age: {$not: { $mod:[10,0] } } })
[$type]
作用:根据数据类型查询
Example:
$type判断字段类型 查询所有name字段是字符类型的 db.users.find({name: {$type: 2}}); 查询所有age字段是整型的 db.users.find({age: {$type: 16}});
[$exists]
作用:判断字段是否存在
查询所有存在name字段的记录 db.users.find({name: {$exists: true}});
查询所有不存在phone字段的记录 db.users.find({phone: {$exists: false}});
[$rename]
作用:更改属性名
> db.c5.update({}, {$rename:{'arr':'post'}}); //字符串所以,必须打上引号
> db.c5.find(){ "_id" : ObjectId("51e2421ecf05e15d315aa746"), "post" : [ 5, 6, 7, 8, 9, 0 ] }
[$inc] ====== 数字类型字段增减
db.user.update({'name':'owen'},{'$inc':{'age':1}})
- $push和$pushAll:向数组类型末尾追加数据,字段不存在则创建;
- $addToSet:向数组类型追加数据时避免重复;
- $each:遍历数组;
- $pop:从数组中删除数据,{$pop:{key:1}}从末尾删除数据,-1从头部删除;
- $pull和$pullAll:从数组中删除指定数据,db.list.update({},{$pull:{'todo':'undo'}});
- 数组定位修改器:数组可以通过下标定位,也可以通过’$‘定位查询匹配到的记录,db.blog.update({'comments.author':'joe'},{'$set':{'comments.$.author':'jim'}});