El "github.com/mongodb/mongo-go-driver" más nuevo espera ID de objetos definidos como
type Application struct {
ID *primitive.ObjectID `json:"ID" bson:"_id,omitempty"`
}
Esto serializa en JSON "ID":"5c362f3fa2533bad3b6cf6f0"
y así es como obtienes la ID del resultado de inserción
if oid, ok := res.InsertedID.(primitive.ObjectID); ok {
app.ID = &oid
}
Convertir de cadena
appID := "5c362f3fa2533bad3b6cf6f0"
id, err := primitive.ObjectIDFromHex(appID)
if err != nil {
return err
}
_, err = collection.DeleteOne(nil, bson.M{"_id": id})
Convertir en cadena
str_id := objId.Hex()