关于mongodb的or查询事项,请教如下:
Sql的方式 a='x' and b='x' or ( c in (3,2) )
mongo表现出来的结果是先查询了 c in(3,2)
再 进行的相关过滤。
是我的写法有问题,还是说mongo本身不太支持呢
我现在的写法是:
db.getCollection('vip_gindex').find({
'status': 1,
$or: [{
'id': {
$in: [305898, 433975]
}
}]
})
结果就正儿八经只查处了两条出来
你的写法的意思是:
$or
没有什么实际意思,因为是$or
后面数组里每个元素是一个条件,你只给了一个元素。按你要的
应该是:
楼上写法也没错不过复杂了。