当前位置: 首页 > 知识库问答 >
问题:

使用Mongoose在mongoDB中搜索文本

苏季同
2023-03-14

我的mongoDB中有这种数据

 {
        "_id" : ObjectId("5a26d554677475818a795f75"),
        "facebookId" : "123456",
        "gender" : "Female",
        "profileUrl" : "https://www.facebook.com/asdfasf",
        "imageUrl" : "/img/profile/sm1.jpg",
        "firstName" : "Anna",
        "token" : "ldhajksdkjasdakjsdajksd",
        "email" : "sm1@gmail.com"
    }

这里假设我做一个查询

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

这给了我她的结果,但我有名字“nna”或名字“Ana”或名字“anna”或任何其他组合。那么,如何使用Mongoose获取MongoDB中字符串的最接近值呢

共有1个答案

白星海
2023-03-14

您可以使用$regex操作符根据结果是否与正则表达式匹配来筛选结果。

示例:

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

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

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

 类似资料:
  • 问题内容: 几天以来,我一直在Google上进行搜索,并且尝试了很多操作,但是仍然无法对用户集合执行良好的全文本搜索。 我尝试了ElasticSearch,但几乎无法查询和分页… 我尝试了许多用于Mongoose的插件,例如ElMongo,mongoose-full- text,Mongoosastic等。每个人的文档都非常糟糕,我不知道如何执行良好的全文本搜索。 因此,我的收藏是普通收藏: 我在

  • 问题内容: 我需要使用pymongo用python搜索ObjectId,但是我总是会收到此错误。有什么想法如何搜索? 问题答案: 我使用pymongo 2.4.1。

  • 问题内容: 由于某些原因,这将 不 返回 任何 结果。但是,其中包含带有特定内容的项目。我很确定这是类型和类型转换的问题,但是我不知道该怎么做。 有什么帮助吗? 问题答案: 几个提示: 尝试在命令行从mongodb运行相同的查询,看看是否得到任何结果。 是否在您的模式中将“ campaign_id”定义为ObjectId?如果是这样,请尝试使用ObjectId类型进行搜索。 例如:

  • 问题 我试图通过搜索文本来确定文档是什么类型(例如恳求、通信、传票等),最好使用python。所有的PDF都是可搜索的,但是我还没有找到用python解析它并应用脚本搜索它的解决方案(除了先将它转换为文本文件,但是对于n个文档来说,这可能是资源密集型的)。 到目前为止,我所做的 我已经研究了pypdf、pdfminer、adobe pdf文档,以及我能在这里找到的任何问题(尽管似乎没有一个能直接解

  • 如果我搜索John,就会得到结果(如果我搜索Jo,就会得到event)。但如果我搜索无名氏,显然没有任何结果。 如果我将查询更改为JohnDoe,我会得到结果,但它会返回所有在其最后/名字中有John或Doe的人。 接下来是尝试使用mongoose TextSearch: 有办法解决吗? 没有外部插件的答案是首选的,但其他的也是希望的。

  • 问题内容: 在稀疏索引文档中,我发现了有关mongodb 3.2部分索引的说明 在版本3.2中进行了更改:从MongoDB 3.2开始,MongoDB提供了创建部分索引的选项。部分索引提供了稀疏索引功能的超集。如果您使用的是MongoDB 3.2或更高版本,则应优先使用部分索引而不是稀疏索引。 部分索引非常有用,我想在项目中使用它们。可以和猫鼬一起使用吗? 问题答案: 在当前的Mongoose版本