Możesz po prostu użyć Database.CollectionNames()
metoda zwracająca nazwy kolekcji obecnych w danym db. Zwraca wycinek, w którym musisz sprawdzić, czy Twoja kolekcja jest na liście.
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
}
}
Ale jak napisał Neil Lunn w swoich komentarzach, nie powinieneś tego potrzebować. Należy zmienić logikę, aby używać MongoDB, aby nie polegać na tej kontroli. Kolekcje są tworzone automatycznie, jeśli spróbujesz wstawić dokument, a zapytania z nieistniejących kolekcji nie dają żadnych błędów (i oczywiście żadnych wyników).