sql >> Databáze >  >> NoSQL >> MongoDB

Jak zkontrolovat, zda kolekce existuje nebo ne MongoDB Golang

Můžete jednoduše použít Database.CollectionNames() metoda, která vrací názvy kolekcí přítomné v dané db. Vrátí řez, ve kterém musíte zkontrolovat, zda je vaše sbírka uvedena.

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

Ale jak napsal Neil Lunn ve svých komentářích, tohle byste neměli potřebovat. Měli byste změnit svou logiku a používat MongoDB, abyste se na tuto kontrolu nespoléhali. Kolekce se vytvoří automaticky, pokud se pokusíte vložit dokument, a dotazování z neexistujících kolekcí nepřinese žádnou chybu (a samozřejmě žádný výsledek).




  1. V Nodejs nelze použít odlišný Mongodb

  2. Object.keys, jak získat seznam klíčů v mongodb

  3. OpenShift Přístup k modulu Mongodb z jiného modulu

  4. MongoDB $rtrim