mongodb搜索子字符串

时间:2015-02-03 09:08:58

标签: mongodb mongodb-query

大家好我正在使用MongoDB处理一些应用程序,我必须在集合中找到子字符串。

我有一个集合Query,如下所示。

> db.Query.find();

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

>...

现在我想在QueryString中搜索子字符串。 例如这里"游戏" in" QueryString" :"列出我的游戏"

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

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

"文本"是我的索引的名字。

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

对于我的例子,当我用word" List"或"游戏", 但是,当我使用"我的"或任何其他少于4个字符的单词不会产生任何结果。

有没有办法解决这个问题,或者我错过了一些设置。

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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

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

我代表不敏感的地方