在ReactiveMongo中,DefaultBSONHandlers类中提供了默认的java.time.Instant bson格式。
我有一个为 Instant 定义自定义格式的特征(toEpochMilliSafe 是 Instant 的扩展方法):
trait BSONFormat {
implicit object InstantWriter extends BSONWriter[Instant] {
override def writeTry(t: Instant): Try[BSONValue] = Try(BSONDateTime(t.toEpochMilliSafe))
}
}
然后我在继承自 BSONFormat 的类中创建一个 BSONDocument:
BSONDocument(AlertSchedulesSchema.timedTriggerTime -> BSONDocument("$gte" -> from)
但是'from'到bson的序列化使用了DefaultBSONHandlers实现而不是我的。 有没有办法强制它使用我的实现?