MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment vérifier si la collection existe ou non MongoDB Golang

Vous pouvez simplement utiliser le Database.CollectionNames() méthode qui renvoie les noms de collection présents dans la base de données donnée. Il renvoie une tranche dans laquelle vous devez vérifier si votre collection est répertoriée.

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

Mais comme Neil Lunn l'a écrit dans ses commentaires, vous ne devriez pas en avoir besoin. Vous devez modifier votre logique pour utiliser MongoDB afin de ne pas vous fier à cette vérification. Les collections sont créées automatiquement si vous essayez d'insérer un document, et l'interrogation à partir de collections inexistantes ne génère aucune erreur (et aucun résultat bien sûr).