在golang中使用
insertOne(context,data)向mongo数据苦衷插入文档的时候如果data是一个struct那么这个结构体中的变量必须是共有的(首字母大写),而结构体本身没有限制,否则会导致插入数据只有共有变量数据没有私有变量数据。
eg
type loginInfo struct {
ID primitive.ObjectID `bson:"_id,omitempty"`
Username string `bson:"name"`
Password string `bson:"pwd"`
}
...
func xxx(usrname string, pwd string){
...
info := loginInfo{primitive.NewObjectID(), usrname, pwd}
collection.InsertOne(context, info)
...
}
输出:

但如果使用
type loginInfo struct {
ID primitive.ObjectID `bson:"_id,omitempty"`
Username string `bson:"name"`
password string `bson:"pwd"`
}
则输出

在Golang中使用`InsertOne`向MongoDB插入文档时,结构体内的变量必须是公有的(首字母大写),否则私有变量不会被序列化并插入数据库。例如,一个`loginInfo`结构体,如果`Password`字段是小写的,那么在插入时,密码数据将不会被保存到数据库。
1285

被折叠的 条评论
为什么被折叠?



