文章目录
  1. 1. MongoDB模糊查询
    1. 1.1. 精确查找
    2. 1.2. 模糊查找
  2. 2. nodejs通过mongoose的模糊查询

模糊查询是数据库的基本操作之一,在mysql中使用like关键字实现,下面就给大家介绍一下如何在MongoDB中实现模糊查询。

MongoDB模糊查询

精确查找

db.domains.find({name: 'test'});

模糊查找

db.domains.find({name: {$regex: 'test'}});
db.domains.find({name: /test/});

更多可以查看mongoDB $regex

nodejs通过mongoose的模糊查询

MongoDB的的模糊查询是通过正则表达式实现的,对应mongodb中,可以直接使用 ‘/../’ 斜杠。但是在nodejs中,必须要使用RegExp,来构建正则表达式对象。

exports.domain = function(req, res) {
    var query = {};

    var name = req.query.name;
    if(name) {
        query.name = new RegExp(name);
    }

    Domains.findByName(query, function(err, domains)) {
        ......
    }
}
文章目录
  1. 1. MongoDB模糊查询
    1. 1.1. 精确查找
    2. 1.2. 模糊查找
  2. 2. nodejs通过mongoose的模糊查询