V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
YYYbw
V2EX  ›  程序员

MongoDB 的 Criteria 方法求助

  •  
  •   YYYbw · 2021-10-12 17:02:39 +08:00 via Android · 1229 次点击
    这是一个创建于 1130 天前的主题,其中的信息可能已经有所发展或是发生改变。
    求助下大佬们,MongoDB 有没有调用 criteria 里的什么方法可以判断一个属性是否同时满足多个条件的
    现在想到的是 c.and().in() ,但是这个 in 字句还是不能支持同时满足
    5 条回复    2021-10-12 18:20:09 +08:00
    AllanAG
        1
    AllanAG  
       2021-10-12 17:40:37 +08:00
    一个字段满足多个条件? 是范围查询吗。试试把条件拆开:and 中添加多个相同的字段,每个字段不同的条件。
    代码里是 c.and(c1,c2...)
    ```
    db.xxxx.find({
    $and:[{
    status:{
    $gte:"2"
    }
    },{
    status:{
    $lte:"3"
    }
    }],
    })
    ```
    qW7bo2FbzbC0
        2
    qW7bo2FbzbC0  
       2021-10-12 17:50:31 +08:00
    criteria 是什么,你的后半句,楼上说的对
    GiftedJarvis
        3
    GiftedJarvis  
       2021-10-12 18:01:42 +08:00
    用 `or`,像这样
    ```Kotlin
    val criteria = Criteria().orOperator(
    Criteria("1").`is`(1),
    Criteria("2").`is`(2)
    )
    mongoTemplate.find(
    Query(criteria),
    Any::class.java
    )
    ```
    GiftedJarvis
        4
    GiftedJarvis  
       2021-10-12 18:02:23 +08:00
    @GiftedJarvis 不对,是 `andOperator`
    YYYbw
        5
    YYYbw  
    OP
       2021-10-12 18:20:09 +08:00 via Android
    刚刚查了一下貌似有个 elematch 是同时满足的一个语句,返回一个 criteria 对象
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2898 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 06:30 · PVG 14:30 · LAX 22:30 · JFK 01:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.