sql >> データベース >  >> NoSQL >> MongoDB

コレクションが存在するかどうかを確認する方法MongoDBGolang

    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. MongoDBObjectをJsValueに変換します

    2. mongodbは、埋め込まれたドキュメントの_idフィールドにインデックスを自動的に作成しますか?

    3. スプリングブーツ+mongodb+キャメルルート接続の問題

    4. 動的フィールドによるMongoの並べ替え