mongo 搜索子串

mongo search sub string

大家好,我正在使用 MongoDB 开发一些应用程序,我必须在 collection.

中找到子字符串

我有一个collection查询,如下所示。

> db.Query.find();

>{ "_id" : ObjectId("54c9ec8ead38d420d87743b0"), "QueryID" : 1, "QueryString" : "
List my games", "QueryFrequency" : 9, "QueryResultset" : 3 }

>...

现在我想在 QueryString 中搜索子字符串。 例如这里 "games" 在 "QueryString" 中:"List my games"

为此,我在 QueryString 上启用了索引,在 运行 以下命令之后,我也得到了一些结果。

> db.Query.runCommand("text" , {search : "games"});

"text" 是我索引的名称。

现在的问题是,只有当我搜索的单词长度大于 3(即超过 3 个字符)时,我才能得到结果

在我的示例中,当我使用词 "List" 或 "games" 进行搜索时,我得到了结果, 但是当我使用 "my" 或任何其他少于 4 个字符的单词时,没有结果。

有什么办法可以解决这个问题还是我缺少一些设置。

您可以为此使用正则表达式。你的查询就像

db.collection.find({"query_string":{$regex: your_regex }})

对于不区分大小写的搜索,您可以使用这个

db.users.find ({ "name" : /my/i } )

其中 i 代表不敏感