我想在MonoDB中使用聚合框架减去两个日期。在蒙戈减去日期
我的代码如下所示:
$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。所以你让司机做翻译。 –