2017-01-27 8 views
2

scalaドライバ(バージョン1.2.1)がOption値Noneをnullとして対応するフィールドに書き込みました。私はこの場合完全にfieidを省略したいと思う。これは可能ですか?永続化しないScala null値として永続化するのではなく

case class Test(foo: Option[String]) 
persist(Test(None)) 

> db.test.find() 
{ "_id": "...", "foo": null } 

につながるが、私は私は私の意図した動作がデフォルトだったと思う、私はカスバを使用する場合

> db.test.find() 
{ "_id": "..." } 

を達成したいです。

+0

のようなものに

def toDocument(t: Test) = Document("foo" -> t.foo) 

から(ケースクラスからの文書への)変換コードを変更することが示唆しますか?ケースクラスをドキュメントに変換しますか?それで、永続化したくない値をフィルタリングする必要があります。 – Ross

答えて

1

ロングローリー氏が回答したmongodbバグトラッカー(https://jira.mongodb.org/browse/SCALA-294)の機能要求を公開しました。彼は、メソッドが何を持続ん

def toDocument(t: Test) = { 
    val d = Document() 
    t.foo.foreach{ value => 
    d + ("foo" -> value) 
    } 
    d 
} 
関連する問題