2016-11-29 5 views
4

mongodbにtdate:"2016-11-26 2:23:11"のような文字列として保存された日付があります。この日付のオブジェクトをすべて数えたいとします。2016-11-26 これは私がphpを使用しようとしているが運がない方法です。説明のように、私はあなたがMongoRegexを持つエントリを見つけることができ、文字列として日付を保存している場合は、この形式"Y-m-d"mongodbとphpで特定の日のオブジェクトを数える方法

function count_auth($tdate) { 
    $collection = 'mycollection'; 
    return $this->db->{$collection}->count(array('date_authenticated' => $tdate)); 
    } 

答えて

1

を持っている必要がありdayによってすべてのオブジェクトを取得したいながら

date_authenticatedは、この形式"Y-m-d H:i:s"を持っていますPHP mongo find field starts withにあります。私はあなたがFind objects between two dates MongoDBを読んでお勧めしかし、あなたが適切な日数を扱う場合は、より良いクエリーを実行することができますよう

$startsWithRegex = '/^2016-11-26/'; 
$this->db->{$collection}->count(['date_authenticated' => array('$regex'=>new MongoRegex($startsWithRegex))]); 

:あなたのケースでは、のようなものでなければなりません。

+0

この「$ startsWithRegex = '/^'.$ tdate。'/'; '? – Muya

+0

はいこれが可能です – P0rnflake

関連する問題