【发布时间】:2017-06-14 18:36:15
【问题描述】:
以下列表在我的收藏中。字段名称是带有文本索引的 list_name。
- DEMOSTAT 200 MG 平板电脑 SR
- DEMOWIN 200 MG 平板电脑 SR
- DEMOBEST OD 200MG 平板电脑
- DEMOBEST SR 200MG 平板电脑
- DEMOCHEK 200MG 平板电脑 SR
- DEMOKIND -SR 200MG 平板电脑
下面是我的查询
$arraySch = array('$text'=>array('$search'=>"\"DEMO\" \"200\""));
$arrData = $this->mongo_db->where ($arraySch)->get('list');
以下两个列表只来了
- DEMOSTAT 200 MG 平板电脑 SR
- DEMOWIN 200 MG 平板电脑 SR
下面不来
- DEMOBEST OD 200MG 平板电脑
- DEMOBEST SR 200MG 平板电脑
- DEMOCHEK 200MG 平板电脑 SR
- DEMOKIND -SR 200MG 平板电脑
让我知道为什么? 并且没有结果到下面的搜索
$arraySch = array('$text'=>array('$search'=>"\"DEMOB\""));
【问题讨论】:
-
使用 MongoDB 文本搜索无法正常工作。 POLO 应该匹配“POLOBEST P 100MG/500MG TABLET”这个但不匹配。当我用“POLOBEST”搜索然后匹配上面
-
默认文本搜索不做部分单词,您需要使用正则表达式匹配。
标签: mongodb mongodb-query