0

idは長いです。しかし、 Iの場合、 None の代わりにgetAs[String]やみくもに戻ります。Some(0)タイプではなくキーの存在をチェックします。

scala> collection
res26: com.mongodb.DBObject = { "_id" : { "$oid" : "520f8bf544ae41ec63d02eec"} , "date_about" : "2013-08-17T20:13:00.365Z" , "date_created" : "2013-08-17T20:13:00.365Z" , "date_modified" : "2013-09-07T18:03:20.101Z" , "id" : 0 , "node_type" : "meta-folder" , "parent_id" : 0 , "title" : "my stuff, renamed by ajax, wow" , "version" : 2}

scala> collection.getAs[String]("id")
res27: Option[String] = Some(0)

scala> collection.getAs[Long]("id")
res28: Option[Long] = Some(0) //get-ing this is an java.lang.ClassCastException

scala> collection.getAs[Long]("id").get
res29: Long = 0

これは予期しない動作ではありませんか。私は持っていなかったはずOption[String] = Noneですか?期待される動作を得るにはどうすればよいですか? "org.mongodb" %% "casbah" % "2.6.2" を sbt-ed しました

4

1 に答える 1

0

Casbahs issue tracker: SCALA-136にチケットを追加しました。Casbah 2.7.0 リリースで修正されます。

于 2013-12-10T11:51:21.677 に答える