MongoDB:将PHP代码转换为Python代码

时间:2014-03-12 07:12:45

标签: php python regex mongodb

我正在寻找一种方法将$ in和$ regex合并到mongoDB中,并找到完全相同的问题,正是我想做的事情。问题是答案是在PHP中,我对它没有任何想法。问题是here

你知道我是否可以在Python代码中找到相同的sollution?

$user_query = preg_replace("/[[:blank:]]+/"," ", $user_query);
$arr_query = explode(' ', $user_query);

if (count($arr_query) > 1) {
    $tmp = array();

    foreach ($arr_query as $q) {
        $tmp[] = new MongoRegex( "/". $q ."/" );
    }

    $who['keywords'] = array('$in' => $tmp);

} else {
    $who['keywords'] = new MongoRegex( "/". $user_query ."/" );
}

$db->collection->find( $who ); 

1 个答案:

答案 0 :(得分:1)

这就是代码的作用。鉴于字符串:

"one two three"

它被转换为相当于:

{ "$in": [
    {"$regex": "one"},
    {"$regex": "two"},
    {"$regex": "three"}
]}

但这个正则表达式完全相同:

{"$regex": "one|two|three"}

为此,您需要做的就是用|替换空白。