当我从 mongodb 数据库中获取/获取文档并在结构中对其进行解码时。 ObjectId 未解码并且出现错误
error decoding key _id: cannot decode objectID into an array
我的用户模型:
type User struct {
ID primitive.ObjectID `bson:"_id" json:"_id,omitempty"`
UserName string `json:"userName,omitempty" bson:"userName" validate:"required,min=5,max=25"`
Password string `json:"password,omitempty" bson:"password"`
Email string `json:"email,omitempty" bson:"email" validate:"required,email"`
PhoneNumber string `json:"phoneNumber,omitempty" bson:"phoneNumber"`
}
我使用的findone功能
func (r *UsersRepo) FindUserByEmail(email string) (*model.User, error) {
var user model.User
filter := bson.M{"email": email}
err := r.MongoCollection.FindOne(context.TODO(), filter).Decode(&user)
if err != nil {
return nil, err
}
return &user, nil
}
我尝试获取的文档 我尝试获取的文档
问题出在
"go.mongodb.org/mongo-driver/v2/mongo"
包上,在我更改为 "go.mongodb.org/mongo-driver/mongo"
包后,解码方法工作得很好。所以我们必须在"go.mongodb.org/mongo-driver/mongo"
包上使用mongoClient