名称 | 语法 | 案例 | 备注说明 |
$set | {$set:{field:value}} | {$set:{name:”uspcat”}} | 它用来指定一个键值对,如果存在键就进行修改不存在则进行添加. |
$inc | {$inc:{field:value}} | {$inc:{"count":1}} | 只是使用与数字类型,他可以为指定的键对应的数字类型的数值进行加减操作. |
$unset | {$unset:{filed:1}} | { $unset : { “name":1 } | 他的用法很简单,就是删除指定的键 |
$push | { $push : { field : value } } | { $push : { books:”JS”} | 1.如果指定的键是数组增追加新的数值 2.如果指定的键不是数组则中断当前操作Cannot apply $push/$pushAll modifier to non-array 3.如果不存在指定的键则创建数组类型的键值对 |
$pushAll | { $pushAll : { field : array } } | { $push : { books:[“EXTJS”,”JS”]} | 用法和$push相似他可以体谅添加数组数据 |
$addToSet | { $addToSet: { field : value } } | { $addToSet: { books:”JS”} | 目标数组存在此项则不操作,不存在此项则加进去 |
$pop | {$pop:{field: value}} | {$pop:{name:1}} {$pop:{name:-1}} | 从指定数组删除一个值1删除最后一个数值,-1删除第一个数值 |
$pull | {$pull:{filed:value}} | {$pull:{"book":"JS"}} | 删除一个被指定的值 |
$pullAll | {$pullAll:{filed:array}} | {$pullAll:{"name":["JS","JAVA"]}} | 一次性删除多个指定的数值 |
$ | { $push : { field : value } } | { $push : { books:”JS”} | 1.数组定位器,如果数组有多个数值我们只想对其中一部分进行操作我们就要用到定位器($) 例子: 例如有文档{name:”YFC”,age:27,books:[{type:’JS’,name:”EXTJS4”},{type:”JS”,name:”JQUERY”},{type:”DB”,name:”MongoDB”}]} 我们要把type等于JS的文档增加一个相同的作者author是USPCAT 办法: db.text.update({"books.type":"JS"},{$set:{"books.$.author":"USPCAT"}}) |
runCommand可以执行mongoDB中的特殊函数findAndModify就是特殊函数之一他的用于是返回update或remove后的文档runCommand({“findAndModify”:”processes”,query:{查询器},sort{排序},new:trueupdate:{更新器},remove:true}).valueps = db.runCommand({"findAndModify":"persons","query":{"name":"text"},"update":{"$set":{"email":"1221"}},"new":true}).valuedo_something(ps)http://www.cppblog.com/byc/archive/2011/07/15/151063.aspx