我正在使用這樣的結(jié)構(gòu)type User struct { Username string `json: "username" bson: "username"` FirstName string `json: "firstName" bson: "firstName"` LastName string `json: "lastName" bson: "lastName"` Email string `json: "email" bson: "email"` Gender string `json: "gender" bson: "gender"` Password string `json: "password" bson: "password"` Enabled bool `json: "enabled" bson: "enabled"` BirthDate time.Time `json: "birthDate" bson: "birthDate"` CreatedAt time.Time `json: "createdAt" bson: "createdAt"` UpdatedAt time.Time `json: "updatedAt" bson: "updatedAt"` collection *mongo.Collection}然后使用查詢數(shù)據(jù)func (u *User) FindByUsername(userName string) error { var ctx, _ = context.WithTimeout(context.Background(), 10*time.Second) filter := bson.M{"username": userName} err := u.collection.FindOne(ctx, filter).Decode(&u) return err}我得到的結(jié)果是{"Username":"jbond","FirstName":"","LastName":"","Email":"email@gmail.com","Gender":"Male","Password":"","Enabled":true,"BirthDate":"0001-01-01T00:00:00Z","CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z"}大多數(shù)數(shù)據(jù)都已填充,但駝峰式字段除外,當(dāng)我從控制臺(tái)查詢時(shí),數(shù)據(jù)就在那里> db.users.find().pretty(){ "_id" : ObjectId("xxxxxxxxxxxxxxxxxxxxxxxx"), "username" : "jbond", "firstName" : "James", "lastName" : "Bond", "email" : "email@gmail.com", "password" : "", "enabled" : true, "gender" : "Male", "birthDate" : { "type" : { "code" : "function Date() {\n [native code]\n}" } }, "createdAt" : { "type" : { "code" : "function Date() {\n [native code]\n}" }, "default" : { "code" : "function now() {\n [native code]\n}" } }, "updatedAt" : { "type" : { "code" : "function Date() {\n [native code]\n}" }, "default" : { "code" : "function now() {\n [native code]\n}" } }}我不明白為什么要全部小寫?;蛘呶义e(cuò)過(guò)了什么?
無(wú)法使用 mongo-go-driver 解碼駝峰式字段
千萬(wàn)里不及你
2023-06-12 12:55:20