Golang MongoDB Struct omitempty的坑

1,049 阅读1分钟

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}}}}
)