如何使用超集字符串在Mongo数据库中找到部分字符串?

时间:2017-05-02 12:16:06

标签: mongodb

如果我的数据库包含“key”字段的以下字符串值的条目:

"a,b,c"
"a,b,z"
"a,b,c,d,e,f,z"
"d,e,f,g"
"d,e,f,g,z"
"h,i"

我有一个这样的字符串:

"a,b,c,d,e,f,g,h"

如何找到关键字段值与字符串开头匹配的条目?例如。我想找到关键字段的值为“a,b,c”的条目。

如何找到关键字段的值与字符串的任何部分匹配的条目?例如。我想找到关键字段的值为“a,b,c”和“d,e,f,g”的条目。

为了给出一些上下文,以防有人认为这是一个毫无意义的任务,我想做堆栈匹配。我将在数据库中有条目,通过堆栈的前N帧识别错误,然后我想识别从核心转储获得的堆栈中的错误。

1 个答案:

答案 0 :(得分:0)

答案是使用$ where运算符。 Python中的一个示例,其中search_string是我们要查找的字符串匹配,是:

search_string = 'a,b,c,d,e,f,g,h'
js_check = 'function () { var search_string=\'' + search_string + '\'; return search_string.indexOf(this.key) >= 0; }'
matches = my_collection.find({'$where': js_check})