Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

149
Views
No persiste Scala None en lugar de persistir como valor nulo

Noté que el controlador Scala (versión 1.2.1) escribe valores de opción de Ninguno como nulo en el campo correspondiente. Preferiría omitir el campo por completo en este caso. es posible?

Ejemplo

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

lleva a

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

pero quiero lograr

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

Cuando usé casbah, creo que mi comportamiento previsto fue el predeterminado.

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

http://mongodb.github.io/mongo-scala-driver/2.4/bson/macros/

Ahora puedes usar macros para ello:

 val testCodec = Macros.createCodecProviderIgnoreNone[Test]()

y en conf codec:

 lazy val codecRegistry: CodecRegistry = fromRegistries(fromProviders(testCodec))
over 4 years ago · Santiago Trujillo Report

0

Abrió una solicitud de función en el rastreador de errores de mongodb ( https://jira.mongodb.org/browse/SCALA-294 ), que fue respondida por Ross Lawley. Sugiere cambiar el código de conversión (de clase de caso a documento) de

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

a algo como

 def toDocument(t: Test) = { val d = Document() t.foo.foreach{ value => d + ("foo" -> value) } d }
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!