-
Notifications
You must be signed in to change notification settings - Fork 194
Open
Description
zio-schema-bson can't properly handle missing fields in bson even if the field is marked as optional. see example below
final case class Test(
a: Option[String] = None,
b: Option[String] = None,
d: Option[String] = None,
e: Option[String] = None,
f: Option[String] = None,
g: Option[String] = None,
h: Option[String] = None,
i: Option[String] = None,
j: Option[String] = None,
k: Option[String] = None,
l: Option[String] = None,
m: Option[String] = None,
n: Option[String] = None,
o: Option[String] = None,
p: Option[String] = None,
q: Option[String] = None,
r: Option[String] = None,
s: Option[String] = None,
t: Option[String] = None,
u: Option[String] = None,
v: Option[String] = None,
w: Option[String] = None,
x: Option[String] = None
)
implicit val schema: Schema[Test] = DeriveSchema.gen
implicit val codec: BsonCodec[Test] = BsonSchemaCodec.bsonCodec(schema)
codec.decoder.fromBsonValue(BsonDocument.parse("{}"))
the last line returns
Left(zio.bson.BsonDecoder$Error: Path: , error: Field a is missing. Don't use `decodeUnsafe` and `fromBsonValueUnsafe` methods.)
- scala version: 2.12.20
- java version: 11.0.28
- bson version: 5.5.1
- zio-schema/zio-schema-bson version: 1.7.3
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels