首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >除范围外的Mongodb搜索数据

除范围外的Mongodb搜索数据
EN

Stack Overflow用户
提问于 2017-11-16 15:53:46
回答 1查看 22关注 0票数 0

我有一个收藏品,这是文件。每一份文件都有自己的唯一编号,这将增加:

代码语言:javascript
复制
{
    code: 1
}, {
    code: 2
}, {
    code: 3
}, {
    code: 4
}, {
    code: 5
}, {
    code: 6
}, {
    code: 7
}, {
    code: 8
}, {
    code: 9
}, {
    code: 10
}

现在我要做的是,只得到不属于(2,5)和(7,9)范围的文件?

其结果必须是:

代码语言:javascript
复制
{
    code: 1
}, {
    code: 6
}, {
    code: 10
}

所以,我想做这个大集合,例如,有3000份文件和“范围除外”的集合将是4-5。

我试过了一些疑问,但它不能正常工作:

代码语言:javascript
复制
{ "course": ObjectId("123"), "code": { $gt: NumberInt(300) }, "code": { $lt: NumberInt(400) }, "code": { $gt: NumberInt(500) }, "code": { $lt: NumberInt(800) } }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-16 16:07:27

第一个解决方案是使用$nor操作符:

代码语言:javascript
复制
{
    $nor: [
        {"code": {$gte: 2, $lte: 5}},
        {"code": {$gte: 7, $lte: 9}}
    ]
}

第二个解决方案是使用$or操作符:

代码语言:javascript
复制
{
    $or: [
        {"code": {$lt: 2}},
        {"code": {$gt: 5, $lt: 7}},
        {"code": {$gt: 9}}
    ]
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47333959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档