zoukankan      html  css  js  c++  java
  • MongoDB 字符串值长度条件查询

    在实际项目中常常会有根据字段值长度大小进行限制查询,例如查询商品名称过长或过短的商品信息,具体的实现方式可能有多种,在此记录常见的两种实现

    • 使用 $where 查询(性能稍逊一些)

    1
    2
    3
    4
    5
    //查询商品名称长度大于25个字符的商品
    db.item.find({item_name:{$exists:true},$where:"(this.item_name.length > 25)"}).limit(5)
     
    //查询商品名称长度小于5个字符的商品
    db.item.find({$where:"this.item_name.length < 5"}).limit(5)
    • 使用正则表达式查询(性能比$where 高)

    1
    2
    3
    4
    5
    //查询商品名称长度大于25个字符的商品
    db.item.find({"item_name": {"$exists"true"$regex": /^.{25,}$/}}).limit(5)
     
    //查询商品名称长度小于5个字符的商品
    db.item.find({"item_name": {"$regex": /^.{0,5}$/}}).limit(5)

    Java 使用 Spring data mongodb:

    1
    2
    3
    4
    5
    String pattern = String.format("^.{%s,}$", overlength);
    Criteria criteria = Criteria.where("item_name").regex(pattern, "m");
     
    Query query = new Query(criteria);
    mongoTemplate.find(query, Item.class)

     

  • 相关阅读:
    Hessain 方法重载
    mac 类似Xshell
    idea & datagrip 注册码
    mac 安装mysql 修改密码
    securecrt 的安装
    datagrip的使用
    mac 安装oracle
    mac 安装mysql
    destoon 会员整合Ucenter/Discuz!/PHPWind教程
    destoon 深度整合discuz x2 UC 之免邮箱二次验证
  • 原文地址:https://www.cnblogs.com/a-du/p/10772445.html
Copyright © 2011-2022 走看看