我有如下的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"元素具有日期格式.有没有办法找到这样的记录?
从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)