登录
首页 >  Golang >  Go问答

如何在 go 中使用 GET 方法连接 mongodb 中的两个字段?

来源:stackoverflow

时间:2024-02-24 18:27:16 236浏览 收藏

编程并不是一个机械性的工作,而是需要有思考,有创新的工作,语法是固定的,但解决问题的思路则是依靠人的思维,这就需要我们坚持学习和更新自己的知识。今天golang学习网就整理分享《如何在 go 中使用 GET 方法连接 mongodb 中的两个字段?》,文章讲解的知识点主要包括,如果你对Golang方面的知识点感兴趣,就不要错过golang学习网,在这可以对大家的知识积累有所帮助,助力开发能力的提升。

问题内容

我有一个这样的模型

type employee struct {
    lastname   string    `bson:"lastname"`
    firstname  string    `bson:"firstname"`
}

每当我想要获取所有员工时,我希望我的 json 是这样的:

{
  "firstName": "Dan",
  "lastName": "Tom",
  "name":     "Tom Dan"
}

正确答案


尝试集合中的聚合函数

func GetAllEmployees() ([]*primitive.M, error) {

    var employees []*bson.M
    var err error

    findOption := []bson.M{
        {"$project": bson.M{
            "id": "$_id",
            "name": bson.M{
                "$concat": []string{
                    "$lastName", " ", "$firstName",
                },
            },
            "lastName":   "$lastName",
            "firstName":  "$firstName",
        }}}

    cur, err := employeesCollection.Aggregate(ctx, findOption)
    if err != nil {
        // log.Fatal(err)
        return nil, err
    }

    if err = cur.All(ctx, &employees); err != nil {
        // log.Fatal(err.Error())
        return nil, err
    }

    return employees, err

}

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

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