1

PHPを使用してMongo DBに今日保存されているレコードの数を取得しようとしています。そのために、以下のクエリを使用しています:

$todayCount = $db->reviews->find(array('date'=>array('$gt'=>strtotime('今日の真夜中')),'b_id'=>new MongoId($b['_id' ])))->count();

しかし、それは私に0を与えます。クエリを分析した後、値を与えていないことがわかりました。それを解決するのに十分な時間を費やしましたが、解決策を得ることができませんでした。どこが間違っているのかわかりません。

今日のレコードが 2 つあり、静的なタイムスタンプを設定しようとすると、レコードが 1 つしか表示されず、2 番目が NULL になります。

私はMongo DBの経験があまりないので、非常に混乱しています。

4

1 に答える 1

1

問題を解決しました。実際の問題は、MongoDB $gt が文字列に対してのみ機能し、strtotime が整数を返すことでした。これが、Mongo から null 応答を受け取っていた理由です。

解決策は以下の通りです。

$currentTime = (string)strtotime('今日の真夜中');

$todayCount = $db->reviews->find(array('date'=>array('$gt'=>$currentTime,'b_id'=>new MongoId($b['_id'])))->カウント();

それは私の問題を解決します。何か追加が必要な場合は、返信またはコメントを追加してください。

于 2013-10-31T14:41:44.963 に答える