mongodb作为新型的非关系数据库, 跟golang搭配使用起来非常的爽 。
但是我在使用中遇到一个小坑, 希望看到的人能绕开。
上代码:
type person struct{
Name string
Age int
}
var p person
p.Name= "Tom"
p.Age= 20
```Collection.FindOne( context , filter).Decode(&p) ```
在使用这个FindOne指令,来向变量a中注入数据时候, 我发现, 假如遇到一条记录里, Name="Brown" 而Age没有值.(MongoDB允许字段缺失) ,你会发现, Age中居然有数值, 正是上次使用p变量时候残留下来的。
我们使用Decode指令时, 向变量p注入数据时,如果某个字段没有值, 那么Decode指令不会令其置空值,所以在使用这个指令的之前, 一定要记着先将变量初始化。
有疑问加站长微信联系(非本文作者))