mongodb - MongoDB 中的多范围查询

标签 mongodb

有没有办法在 MongoDB 中对多个不同范围的文档执行单个查询?

例如

!(x > 10 && x < 20) && !(x > 25 && x < 30) , 其中x是一些字段。

最佳答案

您可以通过反转 bool 表达式,使用 $or$gte$lte 运算符构造该查询:

db.coll.find({
    $or: [{x: {$lte: 10}}, {x: {$gte: 20, $lte: 25}}, {x: {$gte: 30}}]
})

关于mongodb - MongoDB 中的多范围查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20821721/

相关文章:

node.js - MongoDB:如何使用一个模式作为不同文件中定义的不同集合的子文档

python - 在 Flask 中显示来自 Base64 编码的 MongoDB 字段的图像

mongodb - $group 需要一个 _id 数组,但 $out 不会处理它

java - MongoDB Java - 添加或更新数组

MongoDB 绑定(bind)查询 : How do I convert mile to radian?

mongodb - 如何在 MongoDB 中存储 blob 数据?

node.js - Mongoose :返回没有重复条目的唯一结果集

node.js - 在 MEAN 堆栈中,如何进行一次性 MongoDB 索引?

mongodb - 将 mongoexport 与 ISODate 的 --query 一起使用

javascript - 如果字段不为空字符串如何填充如果为空则不需要填充?