0

こんにちは、私はmongodbが初めてで、コレクションの日付を比較しているときにいくつかの問題に直面しています。new MongoDate() を格納する dateCreated フィールドを持つイベントのコレクションがあります

"dateCreated": ISODate("2013-11-13T05: 23: 45.0Z") 

ここで、今日作成されたイベントの 1 つが必要です。このために、私はyiiフレームワークでクエリを試していました

$db->event->findOne(array('dateCreated' => new MongoDate()));

しかし、dateCreated 内に格納されている時間値の比較に失敗したために、null が返されると思います。そのため、時間ではなく日付のみをMongoDate()と比較する方法を提案できますか。

前もって感謝します。

4

2 に答える 2

0

たった今作成されたコレクションを検索しているため、これは null を返します。

日付を含む範囲クエリも探しています。

したがって、次のように変更する必要があります。

$db->event->findOne(
  array('dateCreated' => array(
    '$gte' => timestamp of the current day
  ))
);

私が理解している限り、この方法で現在の日のタイムスタンプを見つけることができます:

mktime(0, 0, 0, date('n'), date('j')); 

しかし、私はこの部分で間違っているかもしれません。

于 2013-11-13T06:18:27.973 に答える