最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

使用Mongoose在mongoDB中搜索文本

IT培训 admin 9浏览 0评论

使用Mongoose在mongoDB中搜索文本

我的mongoDB中有这种数据

 {
        "_id" : ObjectId("5a26d554677475818a795f75"),
        "facebookId" : "123456",
        "gender" : "Female",
        "profileUrl" : "",
        "imageUrl" : "/img/profile/sm1.jpg",
        "firstName" : "Anna",
        "token" : "ldhajksdkjasdakjsdajksd",
        "email" : "[email protected]"
    }

这里就说我做一个查询

User.find({firstName:'Anna'},function(err, data){
  console.log(data);
});

它给了我她的结果,但我做firstName:'nna'firstName:'Ana'firstName:'anna'或任何其他组合。那么我如何使用Mongoose在MongoDB中获得最接近STRING的值

回答如下:

您可以使用$regex运算符筛选结果是否与正则表达式匹配。

例:

const queryString = "an";
User.find(
  { firstName: { $regex: `^${queryString}.*`, $options: "i" } },
  (err, data) => {
    console.log(data);
  }
);

这将匹配firstName字段以an开头的所有记录(不区分大小写)。您可以构建更复杂的正则表达式以满足您的业务需求。

您可以阅读有关$regex运算符here的更多信息。

使用Mongoose在mongoDB中搜索文本

我的mongoDB中有这种数据

 {
        "_id" : ObjectId("5a26d554677475818a795f75"),
        "facebookId" : "123456",
        "gender" : "Female",
        "profileUrl" : "",
        "imageUrl" : "/img/profile/sm1.jpg",
        "firstName" : "Anna",
        "token" : "ldhajksdkjasdakjsdajksd",
        "email" : "[email protected]"
    }

这里就说我做一个查询

User.find({firstName:'Anna'},function(err, data){
  console.log(data);
});

它给了我她的结果,但我做firstName:'nna'firstName:'Ana'firstName:'anna'或任何其他组合。那么我如何使用Mongoose在MongoDB中获得最接近STRING的值

回答如下:

您可以使用$regex运算符筛选结果是否与正则表达式匹配。

例:

const queryString = "an";
User.find(
  { firstName: { $regex: `^${queryString}.*`, $options: "i" } },
  (err, data) => {
    console.log(data);
  }
);

这将匹配firstName字段以an开头的所有记录(不区分大小写)。您可以构建更复杂的正则表达式以满足您的业务需求。

您可以阅读有关$regex运算符here的更多信息。

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论