私は、aggreationフレームワークを使用してMonoDBで2つの日付を減算しようとしています。Mongoで日付を引く
私のコードは次のようになります。
$ops = array(
array('$project' => array("fieldMath" =>
array('$subtract' => array('new ISODate()', 'new ISODate("last_interacted_date")')),
)),
array('$match' => array('fieldMath' => array('$gte' => 2),
),
),
);
$object -> aggregate($ops);
問題は、私は、私は2文字列を減算するしようとしているエラーを取得しています。
Fatal error: Uncaught exception 'MongoResultException' with message 'localhost:27017: cant $subtract aString from a String
new ISODate
とlast_interacted_date
は両方ISODate
オブジェクトです。
私の目標は、今日の日付から 'last_did_something'日付を引き、2日以内のすべてのクエリの結果を返します。
私は間違っていると私はどのように日付を引くことができますか?
いくつかのサンプルドキュメントと予想される出力を含めることで、達成しようとしていることを正確に特定できますか? – chridam
上記を追加すると、基本的に、今日の減算された日付が2日を超えるすべての結果が欲しいです。 –
クエリの「外側」の日付を計算する必要があります。次に、定期的なクエリがあり、集約する必要はありません。あなたはもちろんこれをPHPで行います。それはJavaScriptではなくBSONです。ドライバーに翻訳をさせてください。 –