Mysql INSTR就像在mongodb中操作一样

时间:2012-01-05 16:30:33

标签: mysql mongodb

这里的mongo全新。

我的mysql表中有以下字段:

id (BIGINT), text (LONGTEXT) #this would contain a long description

我希望将我的项目从Mysql更改为MongoDB,但在此之前,有一个非常关键的查询需要解决。

我当前的查询在说明中查找各种术语并返回所有ID,例如

select id from <table> where instr(<table>.text, 'value') or instr(<table>.text, 'value2)

是否有可能在Mongo中重新创建?如果是这样的话?现在使用$或者$ in似乎我需要在我的文档中的某种数组中包含这些特定值。

1 个答案:

答案 0 :(得分:0)

MongoDB目前不支持全文搜索。

你可以使用正则表达式,但它会很慢(由于没有使用索引,除非它们是root的)。

查询将如下:

db.collection.find({ $or: [{description: /value1/}, {description: /value2/}] })

你可以做一些预处理,将每个单词插入一个可搜索的关键字数组中,但如果文本很长,你可能不想走这条路。