MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak sprawdzić, czy kolekcja istnieje, czy nie MongoDB Golang

Możesz po prostu użyć Database.CollectionNames() metoda zwracająca nazwy kolekcji obecnych w danym db. Zwraca wycinek, w którym musisz sprawdzić, czy Twoja kolekcja jest na liście.

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 napisał Neil Lunn w swoich komentarzach, nie powinieneś tego potrzebować. Należy zmienić logikę, aby używać MongoDB, aby nie polegać na tej kontroli. Kolekcje są tworzone automatycznie, jeśli spróbujesz wstawić dokument, a zapytania z nieistniejących kolekcji nie dają żadnych błędów (i oczywiście żadnych wyników).




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Błąd podczas importu mongo

  2. Samoobsługowa MongoDB

  3. Zapytanie o zakres dla paginacji MongoDB

  4. mangusta wypełnij odniesienie do poddokumentu

  5. Utwórz drzewo węzłów z tabelą rekurencyjną za pomocą Express i Mongo