$lt |
$lt:value |
db.persons.find({age:{$lt:27}) |
查询age 小于 27的数据 |
$lte |
$lte:value |
db.persons.find({age:{$lte:27}) |
查询age 小于等于 27的数据 |
$gt |
$gt:value |
db.persons.find({age:{$gt:27}) |
查询age 大于27 的数据 |
$gte |
$gte:value |
db.persons.find({age:{$gte:27}) |
查询age 大于等于27 的数据 |
$ne |
$ne:value |
db.persons.find({age:{$ne:27}) |
查询age 不等于27 的数据 |
$set |
{$set:{key:value}} |
db.language.update({lang:”CH”},{$set:{name:”中国”}},true) |
用来指定一个键值对,如果存在键就进行修改不存在则进行添加,第三个参数是不存在就添加 |
$inc |
{$inc:{key:value}} |
db.people.update({age:23},{$inc:{age:1}},true) |
使用与数字类型,他可以为指定的键对应的数字类型的数值进行加(value=1)减(value=-1)操作.给age为23 的自增 |
$unset |
{$unset:{key:value}}} |
db.people.update({name:”jj”},{$unset:{age:1}}) |
删除指定的键,在people这个文档中删除name为jj,的age属性 |
$push |
{$push:{key:value}} |
db.people.update({_id:1},{$push:{skills:”MongoDB”}},true) |
如果指定的键是数组增追加新的数值,如果指定的键不是数组则中断当前操作,如果不存在指定的键则创建数组类型的键值对 |
$pushAll |
{$pushAll:{key:value}} |
db.people.update({_id:2},{$pushAll:{skills:[“MongoDB”,”JAVA”]}},true) |
用法和$push相似它可以添加数组数据 |
$addToSet |
{$addToSet:{key:value}} |
db.people.update({_id:2},{$addToSet:{skills:”Linux”}}) |
目标数组存在此项则不操作,不存在此项则加进去 |
$pop |
{$pop:{key:value}} |
db.people.update({_id:2},{$pop:{skills:-1}}) |
从指定数组删除一个值1删除最后一个数值,-1删除第一个数值 |
$pull |
{$pull:{key:value}} |
db.people.update({_id:2},{$pull:{skills:”C++”}}) |
从指定数组删除一个被指定的数值 |
$pullAll |
{$pullAll:{key:array}} |
db.people.update({_id:2},{$pullAll:{skills:[“C++”,”Linux”]}}) |
从指定数组删除一个被指定的数值 |
$each |
{$each:{key:array}} |
db.people.update({_id:3},{$addToSet:{skills:{$each:[“MongoDB”,”JAVA”,”linux”]}}},true) |
循环操作,这样就可以合并两个不同的数组了 |
$ 数组定位器 |
array.$.parame |
db.people.update({teacher.name:”bb”},{$set:{“teacher.$.sex”:”female”}}) |
如果以有这么一条数据: { “_id” : ObjectId(“59f02f593e1b3b89f138d979”), “name” : “rstyro”, “age” : 23, “teacher” : [ { “name” : “aa”, “teach” : “english” }, { “name” : “bb”, “teach” : “math” }, { “name” : “cc”, “teach” : “chinese” } ] } 你要对teacher 数组中的name 为bb 添加一个sex 属性。 |