我喜欢实施
"SELECT * FROM TABLE_NAME
WHERE
name like '$query_string' or
title like '%$query_string%' or
tags like '%$query_string%'"
Run Code Online (Sandbox Code Playgroud)
到mongoDB,我试过了
$condition = array('$or' =>
array('writer'=> array('name'=>"$query_string"),
'title'=> new MongoRegex("/$query_string/"),
'tags' => new MongoRegex("/$query_string/") ));
Run Code Online (Sandbox Code Playgroud)
这不起作用.
将SQL实现到mongoDB的正确方法是什么?
这是我构建不区分大小写的“包含”术语的方法
$containsTerm = new MongoRegex(sprintf('/%s/i', preg_quote($term, '/')));
Run Code Online (Sandbox Code Playgroud)
所以你的情况可能看起来像
$condition = array('$or' => array(
'writer.name' => $term,
'title' => $containsTerm,
'tags' => $containsTerm
));
Run Code Online (Sandbox Code Playgroud)
如果条件数组错误,抱歉,我通常使用Doctrine ODM
| 归档时间: |
|
| 查看次数: |
753 次 |
| 最近记录: |