我有一系列文件。它有时间戳字段,主要是日期,在少数情况下,它是一个字符串。
如果我使用时间运算符(聚合命令)在timestamp字段上运行聚合,则会抛出错误:
can't convert from BSON type String to Date
有没有办法跳过包含字符串时间戳的文档并继续聚合?
mongodb 3.0.4
答案 0 :(得分:3)
您可以使用Lucene syntax仅匹配具有有效日期字段的文档:
db.collection.aggregate([
{$match: {dateField: {$type: 9} } }
])