3

このクエリをphpからmongoDBクエリに変換する必要があります

$query = "select * from table where data_added like '%data%';

変数に日付を格納しています

$date = "2013-09-02";

そして私のモンゴドキュメントでは、日付を次のようにソートしました:

$dateAdded = new MongoDate(strtotime('2013-09-02 12:21:55'));

私は試した

$date = new MongoDate(strtotime("$date"));

$mongo->find(array('date_added'=>array('$lt'=>$date)));

and 
$mongo->find(array('date_added'=>$date));

しかし成功せずに。

したがって、(Ymd h:i:s)ではなく( Ymd)を使用してクエリを実行する必要がある ため、mongo でデータに LIKE クエリを使用する方法

ありがとう

4

1 に答える 1

2

範囲クエリを実行する必要があります。たとえば、strtotime() を使用してタイムスタンプを作成し、1 日の開始時の UNIX タイムスタンプを取得し、別のタイムスタンプと 1 日の終了時を取得します。

これらの 2 つの端を包括的または排他的にするかどうかに応じて、次を使用します。

// Both points/seconds inclusive
->find(array("date" => array('$gte' => $startOfDay, '$lte' => $endOfDay)));
// Both seconds exclusive
->find(array("date" => array('$gt' => $startOfDay, '$lt' => $endOfDay)));

http://cookbook.mongodb.org/patterns/date_range/を参照してください

于 2013-10-22T00:41:35.533 に答える