获取其值包含在给定字符串中的所有文档

时间:2016-06-02 09:29:41

标签: mongodb mongodb-query

我获得了字符串" Google"或者"谷歌加拿大"或者" Google pvt ltd"我有Mongodb集合,每个文档都包含像Google这样的名字。

我想要所有包含给定字符串的子字符串的文档。我怎么在mangodb中做到这一点?

如果我搜索Google Canada

 db.merchant.find({name:{$regex:"Google Canada", $options:"$i"}})

我应该

{
  "_id": "5731a3aaefa070225623e4d3",
  "name": "GOOGLE"
}
{
  "_id": "5731a3aaefa070225623e4d3",
  "name": "CANADA"
}    {
  "_id": "5731a3aaefa070225623e4d3",
  "name": "CANA"
}

2 个答案:

答案 0 :(得分:0)

只需在mongodb中引用文本索引。  它对你的帮助。 它也将提供这种类型的搜索

请参阅此https://docs.mongodb.com/manual/core/index-text/

答案 1 :(得分:0)

以下是使用正则表达式在mongodb中根据名称获取所有文档的最简单方法:

db.collection.find({名称:{$正则表达式:"谷歌",$选项:" $ I"}})

这里$ i用于使搜索不区分大小写。