Why don't you just set the id to whatever ( e.g UUID) you want in your struct constructor. Alternatively I guess there are also mongodb specific client libraries for Go
The documentation of package mongo says for example ```
If the document does not have an _id field when transformed into BSON, one will be added automatically to the marshalled document.
i didn't want to make any changes to the id field.
i have a user struct like this.
type User struct {
ID primitive.ObjectID `bson:"_id,omitempty" json:"id"`
FirstName string `bson:"firstname" json:"firstname"`
LastName string `bson:"lastname" json:"lastname"`
Email string `bson:"email" index:"email" json:"email"`
}
i wanted the Email field to be unique, just like the ID. so when a new user tries to create an account with the same email, it'll return an error.
it isn't a problem anymore because i figured out a way...
i created a custom struct tag that validates whether a user with the same email exist in the database.