PHP Mongo正则表达式

Rah*_*hul 2 php regex mongodb

我有如下的mongo记录.

[1] => Array
    (
        [_id] => MongoId Object
            (
            )

        [id] => 195197
        [rec] => Array
            (
                [0] => Array
                    (
                        [id] => 195197
                        [data] => ways to skin a cat
                        [total] => 313
                    )

                 [1] => Array
                    (
                        [id] => 702724
                        [data] => 2010-07-25 15:09:40
                    )
            )

          [rec2] => Array
            (
                [0] => Array
                    (
                        [id] => 195197
                        [data] => ways to skin a cat
                        [total] => 313
                    )

                 [1] => Array
                    (
                        [id] => 702724
                        [data] => 2010-07-25 15:09:40
                    )
            )
    );
Run Code Online (Sandbox Code Playgroud)

我想从具有rec和rec2元素的mongo db中搜索那些记录,并且通过Mongo正则表达式使"data"元素具有日期格式.有没有办法找到这样的记录?

Gat*_* VP 5

从shell开始,您应该可以执行以下操作:

db.foo.find( { 'rec.data' : /\d\d\d\d-\d\d-\d\d/ } )
Run Code Online (Sandbox Code Playgroud)

从PHP开始,您将使用MongoRegex类.

看起来像这样:

$regex = new MongoRegex("/\d\d\d\d-\d\d-\d\d/");
$where = array("rec.data" => $regex);
$cursor = $db->foo->find( $where ); 
Run Code Online (Sandbox Code Playgroud)