登录
首页 >  Golang >  Go问答

如何在官方 Go MongoDB 驱动程序中使用逻辑查询选择器($or)执行 FindOne()?

来源:stackoverflow

时间:2024-04-08 23:15:32 435浏览 收藏

小伙伴们有没有觉得学习Golang很有意思?有意思就对了!今天就给大家带来《如何在官方 Go MongoDB 驱动程序中使用逻辑查询选择器($or)执行 FindOne()?》,以下内容将会涉及到,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到你!

问题内容

我是 mongo 的初学者。我正在尝试查找 "username"email 将匹配的一份文档。但想不出如何实现这个条件来过滤。

这是我的文档模型:

type user struct {
    username  string    `json:"username" bson:"username"`
    email     string    `json:"email" bson:"email"`
    password  string    `json:"password" bson:"password"`
    createdat time.time `json:"created_at" bson:"created_at"`
    updatedat time.time `json:"updated_at" bson:"updated_at"`
}

以及查询:

filter := bson.D{
   {"username", user.Username},
   {"$or": {"email", user.Email}},
}

err = userCollection.FindOne(context.TODO(), filter).Decode(&user)

解决方案


您应该使用$或$,如下所示:

filter := bson.D{
   {"$or":[{"username": user.Username},{"email": user.Email}]},}

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《如何在官方 Go MongoDB 驱动程序中使用逻辑查询选择器($or)执行 FindOne()?》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>