• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >JavaScript > Node.js对MongoDB数据库实现模糊查询的方法

Node.js对MongoDB数据库实现模糊查询的方法

作者:Conan 字体:[增加 减小] 来源:互联网 时间:2017-05-11

Conan通过本文主要向大家介绍了node.js mongodb,node.js连接mongodb,node.js操作mongodb,node express mongodb,node mongodb等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

前言

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

目录

  • mongodb模糊查询
  • nodejs通过mongoose的模糊查询

1. mongodb模糊查询

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

精确查询

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

db.movies.find({'name':'未来警察'})
</div>

模糊查询

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

db.movies.find({'name':/未来/})
</div>

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

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

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

官方举例:

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

2. nodejs通过mongoose的模糊查询

希望实现的效果:

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

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

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

查询所有电影

MovieDAO.prototype.findByName = function(query, callback) {
 Movie.findOne(query, function(err, obj){
 callback(err, obj);
 });
};
</div>

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

接下来,构造query对象

//代码片断
exports.movie = function(req, res) {
 var query={};
 if(req.query.m2) {
 query['name']=new RegExp(req.query.m2);//模糊查询参数
 }

 Movie.findByName (query,function(err, list){
 return res.render('admin/movie', {movieList:list});
 });
}
</div>

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

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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Node.js对MongoDB数据库实现模糊查询的方法
  • Node+Express+MongoDB实现登录注册功能实例
  • Node.js Mongodb 密码特殊字符 @的解决方法
  • Node.js连接MongoDB数据库产生的问题
  • node.js基于mongodb的搜索分页示例

相关文章

  • 2017-05-11使用JavaScript触发过渡效果的方法
  • 2017-05-11JavaScript基本类型值-Undefined、Null、Boolean
  • 2017-05-11jQuery插件FusionCharts绘制的2D双面积图效果示例【附demo源码】
  • 2017-05-11详解vue 中使用 AJAX获取数据的方法
  • 2017-05-11jQuery Mobile漏洞会有跨站脚本攻击风险
  • 2017-05-11搭建简单的nodejs http服务器详解
  • 2017-05-11微信小程序实战之顶部导航栏(选项卡)(1)
  • 2017-05-11浅谈javascript的url参数parse和build函数
  • 2017-05-11微信小程序中的onLoad详解及简单实例
  • 2017-05-11JS正则表达式验证账号、手机号、电话和邮箱是否合法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • vue-router:嵌套路由的使用方法
    • 使用vue.js实现checkbox的全选和多个的删除功能
    • JavaScript提高加载和执行效率的方法
    • jQuery实现百度登录框的动态切换效果
    • jQuery使用正则验证15/18身份证的方法示例
    • JS正则截取两个字符串之间及字符串前后内容的方法
    • JavaScript实现两个select下拉框选项左移右移
    • JS实现图片放大缩小的方法
    • 用JavaScript实现让浏览器停止载入页面的方法
    • jQuery实现导航回弹效果

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有