视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
利用js对MongoDB实现模糊查询的方法教程
2020-11-27 20:22:54 责编:小采
文档
模糊查询是数据库的基本操作之一,下面这篇文章主要给大家介绍了利用Node.js对MongoDB数据库实现模糊查询的方法教程,文中给出了详细的介绍和示例代码,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。

前言

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

目录

  • mongodb模糊查询

  • nodejs通过mongoose的模糊查询

  • 1. mongodb模糊查询

    我们打开mongodb,以name文字字段进行测试。

    精确查询

    当{‘name':'未来'}时,精确匹配到一条记录。

    模糊查询

    {‘name':/未来/},匹配到了多条记录。

    MongoDB的模糊查询,其实是正则查询的一种。

    注:在关系型数据中,单独有一个关键字like做模糊查询,如果不用like,也可以在关系型数据中使用正则查询。

    MongoDB官方介绍:docs.mongodb.org/manual/reference/operator/regex/

    官方举例:

    db.collection.find( { field: /acme.*corp/i } );
    db.collection.find( { field: { $regex: 'acme.*corp', $options: 'i' } } );

    2. nodejs通过mongoose的模糊查询

    希望实现的效果:

    下面说说如何用mongoose进行模糊查询。

    使用mongoose访问mongodb,在 利用Mongoose让JSON数据直接插入或更新到MongoDB 一文中已经讲过。

    我们对Movie建模,并构造dao层。

    查询所有电影

    通过传入query对象,就可以进行查询。

    接下来,构造query对象

    请注意:刚才我们已经分析了MongoDB的的模糊查询是通过正则表达式实现的,对应mongodb中,可以直接使用 ‘/../' 斜杠。

    但是在nodejs中,必须要使用RegExp,来构建正则表达式对象。

    下载本文
    显示全文
    专题