Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

156
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda