sql >> Base de Datos >  >> NoSQL >> MongoDB

Cómo verificar si la colección existe o no MongoDB Golang

Simplemente puede usar el Database.CollectionNames() método que devuelve los nombres de colección presentes en la base de datos dada. Devuelve un segmento en el que debe verificar si su colección está en la lista.

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
    }
}

Pero como escribió Neil Lunn en sus comentarios, no deberías necesitar esto. Debe cambiar su lógica para usar MongoDB para no confiar en esta verificación. Las colecciones se crean automáticamente si intenta insertar un documento, y la consulta de colecciones no existentes no arroja ningún error (y ningún resultado, por supuesto).