MongoDB - 有条件地检查管道中的空值

MongoDB - Conditionally check value for null in the pipeline

在我的 MongoDB 文档中,我有 updated 字符串类型的字段

在管道中,我正在使用该字段 ...

{
   ...
   "$dayOfMonth", new BsonDocument(){
      {"$dateFromString", new BsonDocument(){{"dateString", "$updated"}}
    }
    ...
}

如果我在集合文档中有值,一切似乎都是有序的,但如果管道进入没有值的文档,我会得到

Command aggregate failed: $dateFromString requires that 'dateString' be a string, found: date with value 2022-02-23T01:54:21.467Z.

如何有条件地检查管道中此 属性 的值?

使用 $toDate 代替 $dateFromString

{
  $dayOfMonth: {
    $toDate: "$updated"
  }
}

BsonDocument

{
   "$dayOfMonth", new BsonDocument() {
      { "$toDate", "$updated" }
   }
}

Sample Mongo Playground