Puoi semplicemente utilizzare Database.CollectionNames()
metodo che restituisce i nomi delle raccolte presenti nel db dato. Restituisce una fetta in cui devi controllare se la tua collezione è elencata.
sess := ... // obtain session
db := sess.DB("") // Get db, use db name if not given in connection url
names, err := db.CollectionNames()
if err != nil {
// Handle error
log.Printf("Failed to get coll names: %v", err)
return
}
// Simply search in the names slice, e.g.
for _, name := range names {
if name == "collectionToCheck" {
log.Printf("The collection exists!")
break
}
}
Ma come ha scritto Neil Lunn nei suoi commenti, non dovresti averne bisogno. Dovresti cambiare la tua logica per usare MongoDB per non fare affidamento su questo controllo. Le raccolte vengono create automaticamente se si tenta di inserire un documento e l'esecuzione di query da raccolte inesistenti non produce alcun errore (e ovviamente nessun risultato).