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 5String pattern = String.format("^.{%s,}$", overlength);
Criteria criteria = Criteria.where("item_name").regex(pattern, "m"); Query query = new Query(criteria);
mongoTemplate.find(query, Item.class)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论