Você pode simplesmente usar o
Database.CollectionNames()
método que retorna os nomes de coleção presentes no banco de dados fornecido. Ele retorna uma fatia na qual você deve verificar se sua coleção está listada. 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
}
}
Mas como Neil Lunn escreveu em seus comentários, você não deveria precisar disso. Você deve alterar sua lógica para usar o MongoDB para não depender dessa verificação. As coleções são criadas automaticamente se você tentar inserir um documento, e a consulta de coleções inexistentes não produz nenhum erro (e nenhum resultado, é claro).