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

  • 使用 $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)

参考地址:https://docs.mongodb.com/manual/reference/operator/query/regex/

原文转自: http://www.xuexiyuan.cn/article/detail/74.html

MongoDB 字符串值长度条件查询相关推荐

  1. 字符串字段当条件查询的时候需要加引号吗_如此详细的SQL优化教程,是你需要的吗?...

    基础数据准备 二:五百万数据插入 上面插入几条测试数据,在使用索引时还需要插入更多的数据作为测试数据,下面就通过存储过程插入500W条数据作为测试数据 三:使用索引和不使用索引的比较 没有添加索引前一 ...

  2. MongoDB 组合多个条件查询(and、and、in、gte、gte、lte)

    一,问题描述 数据格式: id, timeStamp,count 条件1:查询 某个时间段 内的数据: timeStamp BETWEEN startTime AND endTime.比如 timeS ...

  3. MongoDB 组合多个条件查询(and、in、gte、lte)

    一,问题描述 数据格式: id, timeStamp,count 条件1:查询 某个时间段 内的数据: timeStamp BETWEEN startTime AND endTime.比如 timeS ...

  4. mongodb java 多条件查询_MongoDB_Java连接mongo 使用Java多条件查询mongo数据

    在mongo shell中的查询语句是这样的.. db.user.find({"age":{"$gt":5,"$lt":14}})我们用Ja ...

  5. php中条件查询语句,thinkphp3.2框架中where条件查询用法总结

    本文实例讲述了thinkphp3.2框架中where条件查询用法.分享给大家供大家参考,具体如下: thinkphp3.2 where 条件查询 在连贯操作中条件where的操作有时候自己很晕,所以整 ...

  6. Python 连接MongoDB并比较两个字符串相似度的简单示例

    本文介绍一个示例:使用 pymongo 连接 MongoDB,查询MongoDB中的 字符串 记录,并比较字符串之间的相似度. 一,Python连接MongoDB 大致步骤:创建MongoClient ...

  7. mongodb 查询操作,条件查询,where,find等常用操作

    此为项目中实际用到的例子 假设有User表 #<User _id: 5497793c73616e2a0c010000, created_at: "2014-12-22T01:51:56 ...

  8. mongodb java 多条件查询_MongoDB查询之高级操作详解(多条件查询、正则匹配查询等)...

    MongoDB查询之高级操作 语法介绍 MongoDB查询文档使用find()方法,同时find()方法以非结构化的方式来显示所有查询到的文档. -- 1.基本语法 db.collection.fin ...

  9. MongoDB自定义条件查询案例

    MongoDB自定义条件查询案例

最新文章

  1. 10个奇幻的HTML5和Javascript效果
  2. php+swoole
  3. 2.6 multimap
  4. matlab基于dct的图像压缩编码解码_音频压缩编码的基本原理详解
  5. BZOJ 1025: [SCOI2009]游戏
  6. mysql字符集编码解析_MySQL字符集编码的理解
  7. 职称计算机个人档案号查询,干部人事档案编号在线查询
  8. 杨柳絮-Info:太原市多部门通力合作科学治理杨柳飞絮效果好
  9. 互联网晚报 | 9月15日 星期三 | iPhone 13正式发布;天猫双11正式启动商家报名;华为推出鸿蒙矿山操作系统“矿鸿”...
  10. 夸克浏览器产品分析报告
  11. 如何让图片保持原比例,占满整个盒子
  12. 课时31:永久储存:腌制一缸美味的泡菜
  13. 组件间的双向绑定、如何自己定制双向绑定
  14. ntp和chronyd
  15. (二)uboot移植--从零开始自制linux掌上电脑(F1C200S)<嵌入式项目>
  16. m车载自组织网络(Vehicular Ad-hoc Network,VANET)通信系统的matlab仿真
  17. 利用nessus工具扫描主机
  18. jxls2.0的基础使用
  19. vue如何拖拽element-ui的table
  20. UIScrollView的使用大全摘抄

热门文章

  1. 【Java从入门到天黑|03】JavaSE入门之流程控制
  2. burpsuite全套使用教程
  3. 魔兽三国服务器维护,魔兽三国开服七天技巧
  4. java 门面模式_Java门面模式
  5. uni-app之新建项目无模板选择以及点击创建后一直卡住不动
  6. Vue2.0 全家桶开发的网页应用(参照吾记APP)
  7. Webpack 2 视频教程 002 - NodeJS 安装与配置
  8. CSS3实现烟花特效 --web前端
  9. timeval的时间转换成毫秒之后多大的数据类型可以装下
  10. Unity插件Gaia使用介绍