当我尝试将我的集合中的字符串类型的属性解码为我的结构中的 int 类型的属性时,我在使用 Go 的 mongodb 驱动程序时遇到了一些问题。我有一个集合,该集合的属性应该是 int 类型,该属性被编辑单个文档的人转换为 string 类型。由于所有文档都具有该属性作为 int 除了那个,我收到一个错误“无法将字符串解码为整数类型”。我想出了一种方法来做到这一点,但这不是“应该”做的事情。我在 Go 的 mongodb 驱动程序中修改了 default_value_decoders.go 中的 IntDecodeValue 函数。下面是我添加的。
case bsontype.String:
s, err := vr.ReadString()
if err != nil {
return err
}
i32, err := strconv.Atoi(s)
if err != nil {
return err
}
i64 = int64(i32)
我知道当我更新驱动程序时这将被覆盖,但我一直在努力思考如何处理这种情况。我知道最好的解决方案是不允许直接编辑文档,但要考虑这种情况。
喵喵时光机
慕运维8079593
相关分类