我正在尝试使用 MongoDB 和 ReactiveMongo 编写一个 play2.1 应用程序。我的一个模型有一个外部库的成员(特别是 SecureSocial 用户 ID 和密码信息,但通常是)。我的问题是 - 我将它们存储在什么 BSON 类型下?
case class User{
firstName: String,
lastName: String,
authMethod: AuthenticationMethod,
avatarUrl: Option[String] = None,
oAuth1Info: Option[OAuth1Info] = None,
oAuth2Info: Option[OAuth2Info] = None,
}
implicit object UserBSONReader extends BSONReader[User] {
def fromBSON(document: BSONDocument) :Role = {
val doc = document.toTraversable
User(
doc.getAs[BSONObjectID]("_id"),
doc.getAs[BSONString]("email").get.value,
doc.getAs[**?????????**]("passwordInfo").get.value,
doc.getAs[BSONString]("firstName").get.value,
doc.getAs[BSONString]("lastName").get.value,
doc.getAs[**?????????**]("authMethod").get.value,
...