sql >> Database teknologi >  >> NoSQL >> MongoDB

Sådan kontrolleres, om samlingen eksisterer eller ej MongoDB Golang

Du kan blot bruge Database.CollectionNames() metode, som returnerer samlingsnavnene i den givne db. Det returnerer et udsnit, hvor du skal tjekke, om din samling er opført.

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

Men som Neil Lunn skrev i sine kommentarer, skulle du ikke have brug for dette. Du bør ændre din logik for at bruge MongoDB til ikke at stole på denne kontrol. Samlinger oprettes automatisk, hvis du forsøger at indsætte et dokument, og forespørgsler fra ikke-eksisterende samlinger giver ingen fejl (og selvfølgelig intet resultat).




  1. Python:opbygning af en LRU-cache

  2. PyMongo upsert kaster upsert skal være et tilfælde af bool fejl

  3. MongoDB skelner mellem udefineret og null

  4. Hvordan erstatter man den forældede ScriptDb med Mongodb ved hjælp af URL Fetch-tjenesten?