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)
本文介绍了MongoDB中复杂的查询技巧,包括使用多个OR语句进行复合查询的方法,以及如何利用定位操作符对数组中的单个或多个元素进行精确更新。
&spm=1001.2101.3001.5002&articleId=77992078&d=1&t=3&u=c81d37847c4c4ff2bde2c7f64ea23130)
6143

被折叠的 条评论
为什么被折叠?



