Du kan helt enkelt använda Database.CollectionNames()
metod som returnerar samlingsnamnen som finns i den givna db. Det returnerar ett segment där du måste kontrollera om din samling finns med.
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
}
}
Men som Neil Lunn skrev i sina kommentarer, du borde inte behöva detta. Du bör ändra din logik för att använda MongoDB för att inte lita på denna kontroll. Samlingar skapas automatiskt om du försöker infoga ett dokument, och förfrågningar från icke-existerande samlingar ger inget fel (och inget resultat förstås).