![](/img/trans.png)
[英]Mongodb aggregate $match inconsistent handling of dates between mongo and javascript
[英]Mongodb aggregate match on dates
我正在运行汇总查询,经过一些预测,最终得到的文档看起来像
{ _id: 561bed08f8f068cd237a3dc1,
updateDate: Mon Oct 12 2015 11:25:28 GMT-0600 (MDT),
manager: 561bdd37f8f068cd237a3da2,
viewDate: Mon Oct 26 2015 09:02:57 GMT-0600 (MDT) }
请注意,这些日期是控制台格式的输出,当使用mongohub检查时,这些日期看起来像new Date(<timestamp>)
。
我想匹配updateDate
大于viewDate
,所以我有这个匹配项:
$match: {
updateDate: { "$gt": new Date("$viewDate") }
}
但是,它返回诸如上述文件之类的文档, updateDate
在12号,而viewDate
在26号。
我尝试了一些变体,例如有无new Date()
。
您不能在此处使用$match
运算符。 您需要使用$redact
运算符。
db.collection.aggregate([
{ "$redact": {
"$cond": [
{ "$gt": ["$updateDate", "$viewDate"] },
"$$KEEP",
"$$PRUNE"
]
}}
])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.