Du kan blot bruge Database.CollectionNames()
metode, som returnerer samlingsnavnene i den givne db. Det returnerer et udsnit, hvor du skal tjekke, om din samling er opført.
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 sine kommentarer, skulle du ikke have brug for dette. Du bør ændre din logik for at bruge MongoDB til ikke at stole på denne kontrol. Samlinger oprettes automatisk, hvis du forsøger at indsætte et dokument, og forespørgsler fra ikke-eksisterende samlinger giver ingen fejl (og selvfølgelig intet resultat).