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を使用するようにロジックを変更する必要があります。ドキュメントを挿入しようとするとコレクションが自動的に作成され、存在しないコレクションからクエリを実行してもエラーは発生しません(もちろん結果も発生しません)。