sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur man kontrollerar om samlingen finns eller inte MongoDB Golang

Du kan helt enkelt använda Database.CollectionNames() metod som returnerar samlingsnamnen som finns i den givna db. Det returnerar ett segment där du måste kontrollera om din samling finns med.

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 sina kommentarer, du borde inte behöva detta. Du bör ändra din logik för att använda MongoDB för att inte lita på denna kontroll. Samlingar skapas automatiskt om du försöker infoga ett dokument, och förfrågningar från icke-existerande samlingar ger inget fel (och inget resultat förstås).




  1. MongoDB-fråga för dokument äldre än 30 sekunder

  2. Kan en $text-sökning utföra en partiell matchning

  3. Läs en fil från ett mongoskal

  4. Hur man multiuppdatering av en kapslad array i MondoDB?