I've got the code below that should ignore truncation errors, but returns an error indicating it can't truncate:
type collStats struct {
CollectionName string `bson:"collStats"`
Scale *int64 `bson:"scale" valid:"optional,gt(0)~scale must be a number > 0"`
}
var cmd collStats
decodeContext := bsoncodec.DecodeContext{
Registry: bson.DefaultRegistry,
Truncate: true,
}
err := bson.UnmarshalWithContext(decodeContext, doc, &cmd)
if err != nil {
return nil, mongoerrors.Wrap(err, mongoerrors.CodeFailedToParse, "unable to parse the collStats command")
}
produces the following error:
{"collStats": "foo", "scale": 29.821 } -> IntDecodeValue can only truncate float64 to an integer type when truncation is enabled