1. 同时使用多个or语句
db.things.find({$and: [
{$or : [{'a':1},{'b':2}]},
{$or : [{'a':2},{'b':3}]}]
})
2. 数组更新单个元素或者多个
在需要对数组中的值进行操作的时候,可通过位置或者定位操作符(”$”).数组是0开始的,可以直接将下标作为键来选择元素。
db.getCollection('users').update(query,option,upsert,multi)
#upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
#multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
单个:
db.getCollection('users').update({
'specialCompanys.companyId':'YINENG'
},{
$set:{'specialCompanys.$.companyId':60}
})
全部:
db.getCollection('users').update({
'specialCompanys.companyId':'YINENG'
},{
$set:{'specialCompanys.$.companyId':60}
},false,true)