当前位置: 移动技术网 > IT编程>数据库>MongoDB > MongoDB多条件模糊查询示例代码

MongoDB多条件模糊查询示例代码

2019年09月06日  | 移动技术网IT编程  | 我要评论

长帝官网,僵尸王异界游txt,血滴子影评

前言

模糊查询是数据库的基本操作之一,实现对给定的字符串是否与指定的模式进行匹配。如果字符完全匹配,可以用=等号表示,如果部分匹配可认为是一种模糊查询。在关系型数据中,通过sql使用like ‘%fens%'的语法。那么在mongodb中我们应该如何实现模糊查询的效果呢。

查询条件

关键字 说明
$or 或关系
$nor 或关系取反
$gt 大于
$gte 大于等于
$lt 小于
$lte 小于等于
$ne 不等于
$in 在多个值范围内
$nin 不在多个值范围内
$all 匹配数组中多个值
$regex 正则,用于模糊查询
$size 匹配数组大小
$maxdistance 范围查询,距离(基于lbs)
$mod 取模运算
$near 邻域查询,查询附近的位置(基于lbs)
$exists 字段是否存在
$elemmatch 匹配内数组内的元素
$within 范围查询(基于lbs)
$box 范围查询,矩形范围
$center 范围查询,圆形范围
$centersphere 范围查询,球形范围
$slice 查询字段集合中的元素(比如从第几个之后,第n到第m个元素)

模糊查询

精准查询

//mongodb数据库表
const systemuser = require('../../models/user'); 
systemuser.find({name:'xiaoming'}).exec(function(err,rs){}

多条件模糊查询

//mongodb数据库表
const systemuser = require('../../models/user');
//前端传入的要查询的关键字
var name = req.query.name;
var page = req.query.page || 1; //当前页数
var limitnums = 10; //指定每一页查询的条数
page = parseint(page);
var skipnums = (page - 1) * limitnums; //跳过指定数量
//正则匹配 i忽略大小写
var reg = new regexp(name, "i");
var _filter = {
 //多字段匹配
 $or: [
  {name: {$regex: reg}},
  {description: {$regex: reg}},
  {owner: {$regex: reg}},
 ]
}
systemuser.find(_filter).
//跳过指定数量的数据
skip(skipnums).
//指定从mongodb中读取的记录条数。
limit(limitnums).
sort({createtime:-1}).
exec(function(err,rs){}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对移动技术网的支持。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网