Casbah - getAsOrElse 不处理选项值
Casbah - getAsOrElse not working on Option values
我有以下代码:
new Room(
dbObject.get("_id").get.toString,
List[User]() ,
List[Message](),
dbObject.getAs[Date]("creation").get,
//dbObject.getAsOrElse[Option[Date]]("expires", None),
if(dbObject.containsField("expires"))
Some(dbObject.getAs[Date]("expires").get)
else
None,
List[String]())
我想知道我在使用 getAsOrElse 时做错了什么,因为如果我使用注释行,我将永远无法从字段 expires 中获取值。要修复它,我需要执行 if 语句来获取值。
提前致谢。
As getAs[T]
returns Option[T] 你可以使用那个,例如:
dbObject.getAs[Date]("expires")
将 return Some(dateValue)
如果过期字段属于 Date
或者 return None
如果过期字段不存在 或 如果过期字段不可转换为 Date
.
我有以下代码:
new Room(
dbObject.get("_id").get.toString,
List[User]() ,
List[Message](),
dbObject.getAs[Date]("creation").get,
//dbObject.getAsOrElse[Option[Date]]("expires", None),
if(dbObject.containsField("expires"))
Some(dbObject.getAs[Date]("expires").get)
else
None,
List[String]())
我想知道我在使用 getAsOrElse 时做错了什么,因为如果我使用注释行,我将永远无法从字段 expires 中获取值。要修复它,我需要执行 if 语句来获取值。
提前致谢。
As getAs[T]
returns Option[T] 你可以使用那个,例如:
dbObject.getAs[Date]("expires")
将 return Some(dateValue)
如果过期字段属于 Date
或者 return None
如果过期字段不存在 或 如果过期字段不可转换为 Date
.