Hello! I have that struct in go:
import (
"go.mongodb.org/mongo-driver/bson/primitive"
)
type User struct {
ID primitive.ObjectID `json:"_id" bson:"_id,omitempty"`
Username string `bson:"username"`
PasswordHash string `bson:"password_hash"`
Permissions Permissions `json:"permissions" bson:"permissions"`
}
And I can’t decode *mongo.SingleResult into my type:
` usersCollection := mongoClient.Database(“test”).Collection(“users”)
user := auth.User{
Username: "anyuser",
PasswordHash: "somehash",
Permissions: auth.NewPermissions(auth.PermissionUser),
}
if _, err := usersCollection.InsertOne(ctx, user); err != nil {
panic(err)
}
singleResult := usersCollection.FindOne(ctx, bson.D{})
if singleResult.Err() != nil {
panic(singleResult.Err())
}
var userResult auth.User
err = singleResult.Decode(&userResult)
It fails with:
panic: error decoding key _id: cannot decode objectID into an array
goroutine 1 [running]:
main.main()
./tmp.go:51 +0x505
exit status 2
`