本文摘自网络,作者whoiswho,侵删。
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指令不会令其置空值,所以在使用这个指令的之前, 一定要记着先将变量初始化。
相关阅读 >>
Golang 三种指针类型具体类型的指针、unsafe.pointer、uintptr作用
Golang (v2)分布式id生成系统,高性能、高可用、易扩展的id生成服务
更多相关阅读请进入《Go》频道 >>

Go语言101
一个与时俱进的Go编程知识库。