我有一组文档。它有一个时间戳字段,主要是Date,在少数情况下它是一个字符串。
如果我使用时间运算符(聚合命令)对时间戳字段运行聚合,则会引发错误:
can't convert from BSON type String to Date
有没有一种方法可以跳过包含字符串时间戳的文档并继续聚合?
mongodb 3.0.4
您可以使用$type只匹配具有有效日期字段的文档:
db.collection.aggregate([
{$match: {dateField: {$type: 9} } }
])