Golang MongoDB Struct omitempty的坑

Golang MongoDb 的一些问题

A 开发定义 Struct

type User struct {
    UserId int64 `json:"user_id,omitempty" bson:"user_id,omitempty"`
    Level int `json:"level,omitempty" bson:"level,omitempty"`
    Name string `json:"name,omitempty" bson:"name,omitempty"`
}

A 开发一个方法 通过 userId 修改了 Lavel

var user AccountDB.User
user.Level = 36
this.Data.Collection("user").FindOneAndUpdate(context.Background(),bson.D{{"user_id",1}},
bson.D{{"$set",user}}
)

B 开发 给 User 增加了一个字段 control_score 需要写 0 或其它数值

type User struct {
    UserId int64 `json:"user_id,omitempty" bson:"user_id,omitempty"`
    Level int `json:"level,omitempty" bson:"level,omitempty"`
    Name string `json:"name,omitempty" bson:"name,omitempty"`
    ControlScore int64 `json:"control_score" bson:"control_score"`
}

B 开发一个方法 通过 userId 修改了 control_score

var controlScore = 0
this.Data.Collection("user").FindOneAndUpdate(context.Background(),
bson.D{{"$set", bson.D{{"control_score", value}}}}
)