Sie können einfach Database.CollectionNames()
verwenden
Methode, die die in der angegebenen Datenbank vorhandenen Sammlungsnamen zurückgibt. Es gibt ein Slice zurück, in dem Sie überprüfen müssen, ob Ihre Sammlung aufgelistet ist.
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
}
}
Aber wie Neil Lunn in seinen Kommentaren schrieb, sollten Sie das nicht brauchen. Sie sollten Ihre Logik ändern, um MongoDB zu verwenden, um sich nicht auf diese Prüfung zu verlassen. Sammlungen werden automatisch erstellt, wenn Sie versuchen, ein Dokument einzufügen, und Abfragen von nicht existierenden Sammlungen ergeben keinen Fehler (und natürlich kein Ergebnis).