MongoDB-查询语句中逻辑运算符not、and、or、nor用法介绍

MongoDB/NoSQL
388
0
0
2022-12-25
标签   MongoDB

今天来学习在mongodb中的一些其他查询语句的用法,主要包含以下内容:

1、逻辑运算符$not

比如:查询user表age不为18的数据:

db.user.find({age:{$ne:18}})
db.user.find({age:{$not:{$eq:18}}})

注意:如果需要查询的字段不存在, 也会算作条件成立

2、逻辑运算符$and

比如查询user表name为“小博”,并且age为17的数据

db.user.find({name:"小博",age:17})
db.user.find({$and:[{name:"小博"},{age:17}]})

注意: $and后面必须对应一个数组格式,否则会报错:

img

3、逻辑运算符$or

比如查询user表中name为“小博”或者“测试小博”的数据:

db.user.find({name:{$in:['小博','测试小博']}})
db.user.find({$or:[{name:{$eq:'小博'}},{name:{$eq:'测试小博'}}]})
db.user.find({$or:[{name:'小博'},{name:'测试小博'}]})

4、逻辑运算符$nor

针对前面的$and、$or、$not的用法,大家可能见到过,但对于$nor操作,可能见的少一点,$nor简单的理解就是:多个条件中不满足其中的某一个。

比如查询name不为“小博”或者“测试小博”的数据:

db.user.find({name:{$nin:['小博','测试小博']}})
db.user.find({$nor:[{name:'小博'},{name:'测试小博'}]})

注意:如果需要查询的字段不存在, 也会算作条件成立

img