Nodejs实现模糊查询

来源:互联网 发布:湖北襄阳农村淘宝招募 编辑:程序博客网 时间:2024/05/22 13:26

本人在制作一些业余爱好的网站途中,也在对于nodejs进行一些学习,在制作搜索功能的时候对模糊查询做出一定了解,由于博主是使用express+mongoose框架来制作的项目,对网上的讲解看的不是很懂,不过自己根据网上其他博客的部分说明,又小小看了一下官方文档,尝试了几下得出了结论。

首先我们知道mongodb数据库中是以/关键字/来进行模糊查询,然而在博主研究的途中知道nodejs中是使用正则表达式来进行的,并且了解了一下的查询条件。

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

以上我们运用了$regex这个条件,在find()函数中,写上

var reg = new RegExp(request.query.animatename,'i');Model.find({    name : {$regex : reg}});

以上’i’表示是对大小写不敏感,就是忽略大小写。
Model表示数据模型,name表示查询字段

以上就是模糊查询的实现方法,如果有问题请指出,谢谢~

原创粉丝点击