MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como verificar se a coleção existe ou não MongoDB Golang


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).