gpt4 book ai didi

mongodb - 如何检查集合是否存在 MongoDB Golang

转载 作者:IT老高 更新时间:2023-10-28 13:27:56 27 4
gpt4 key购买 nike

我是 GO 语言的新手,我正在使用 MongoDB。我正在为 Angular 4 上的应用程序及其前端创建一个后端。我想检查集合是否存在。

这是我的代码,我使用 nil 对其进行了检查。

collection := GetCollection("users")    
fmt.Println("collection", collection)
if collection == nil {
fmt.Println("Collection is empty")
}

我创建了一个 GetCollection 函数,当我们向它传递一个集合名称时它会返回一个集合。那么,如果没有集合,我如何检查它是否存在?我尝试了很多事情,但都失败了。

最佳答案

您可以简单地使用 Database.CollectionNames()返回给定数据库中存在的集合名称的方法。它返回一个 slice ,您必须在其中检查您的收藏是否已列出。

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

但正如 Neil Lunn 在他的评论中所写,你不应该需要这个。您应该更改您的逻辑以使用 MongoDB,而不是依赖此检查。如果您尝试插入文档,则会自动创建集合,并且从不存在的集合中查询不会产生错误(当然也不会产生结果)。

关于mongodb - 如何检查集合是否存在 MongoDB Golang,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46293070/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com