MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да проверите дали колекцията съществува или не MongoDB Golang

Можете просто да използвате Database.CollectionNames() метод, който връща имената на колекциите, присъстващи в дадената база данни. Връща част, в която трябва да проверите дали вашата колекция е в списъка.

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

Но както Нийл Лън написа в коментарите си, не трябва да имате нужда от това. Трябва да промените логиката си, за да използвате MongoDB, за да не разчитате на тази проверка. Колекциите се създават автоматично, ако се опитате да вмъкнете документ, а заявките от несъществуващи колекции не дават грешка (и без резултат, разбира се).




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb $match операция в $lookup за сравняване на objectId не работи според очакванията

  2. Mongotemplate - Заявка ObjectId според оператора по-голямо от (gt) или по-малко от (lt).

  3. Как да върна ObjectId или _id на документ в MongoDB? и грешка $in се нуждае от масив

  4. MongoDB:как да зададете ново поле, равно на стойността на друго поле, за всеки документ в колекция

  5. MongoDB / Meteor / Експортиране на MONGO_URL към внедрени приложения