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

2022-12-02 15:11:38 浏览数 (1)

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

1、逻辑运算符$not

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

代码语言:javascript复制
db.user.find({age:{$ne:18}})
db.user.find({age:{$not:{$eq:18}}})

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

2、逻辑运算符$and

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

代码语言:javascript复制
db.user.find({name:"小博",age:17})
db.user.find({$and:[{name:"小博"},{age:17}]})

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

3、逻辑运算符$or

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

代码语言:javascript复制
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不为“小博”或者“测试小博”的数据:

代码语言:javascript复制
db.user.find({name:{$nin:['小博','测试小博']}})
db.user.find({$nor:[{name:'小博'},{name:'测试小博'}]})

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

0 人点赞