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'}}) 

 

 

posted @ 2014-11-24 10:22  飞翔的小鸟11  阅读(437)  评论(0编辑  收藏  举报