私はリフトとモンゴブを学んでいます。次のような問題が発生しました。簡単にするためにいくつかのコードをバイパスします。コードは次のとおりです。MongoListFieldを使ってリストを返す方法
object User extends User with MetaMegaProtoUser[User] {
}
class User extends MegaProtoUser[User] {
def meta = User
//record the post list that user like
object likePostList extends MongoListField[User, ObjectId](this)
def test()
{
val list: = this.likePostList
println(list.length)
}
}
error: value length is not a member of object User.this.likePostList
this.likePostList.length
私はObjectIdデータをMongoDBに格納できます。しかし、MongoListFieldはリストを返しません。どうして?それをリストとして使用する方法。
[OjbectId]やList [String]のリストに型ケースを追加しようとしましたが、運がありません。
val list: List[ObjectId] = this.likePostList.asInstanceOf[List[Object]]
ガットエラー: とjava.lang.ClassCastException:com.cosiin.model.User $ likePostList $は私がMongoListFieldに間違ったを使用しています考えてscala.collection.immutable.List
にキャストすることはできません方法。しかし、私はそれを使う方法を知らない。
誰でもお手伝いできますか?ありがとう
私はそれを解決しました。 value属性を使用すると、私が望むものが返されます。 val list:List [ObjectId] = this.likePostList.value –
ObjectIdを実際のモデルクラスに変更することで、より安全に型を変更することもできます。あなたの場合のように? – Lukasz