猿问

从 mongodb 加入 2 个结构

我有一个函数可以使用检索 mongodb 管理员用户.command


在下面的函数中,我有DbUsers结构,我正在运行命令从 2 个不同的数据库中检索用户。


我的问题是,如何连接 2 个结果(adminUsers 和 externalUsers)并在合并后返回?他们是一样的struct。


type DbUsers struct {

    ...lots of stuff about the server

    Users []Users 

}


type Users struct {

   User string

   ...lots of stuff

}


func getUsers() Users {

    admin := CNX.Database("admin")

    external := CNX.Database("$external")


    command := bson.D{primitive.E{Key: "usersInfo", Value: 1}}


    var adminUsers DbUsers

    var externalUsers DbUsers

    err := admin.RunCommand(context.TODO(), command).Decode(&adminUsers)

    if err != nil {

        panic(err)

    }


    err2 := external.RunCommand(context.TODO(), command).Decode(&externalUsers)

    if err2 != nil {

        panic(err2)

    }


    //New to Golang, not sure what I am doing but this doesn't work



    return []Users{adminUsers.Users, externalUsers.Users}

}

缥缈止盈
浏览 63回答 1
1回答

繁星点点滴滴

你可以做return append(adminUsers.Users, externalUsers.Users...)
随时随地看视频慕课网APP

相关分类

Go
我要回答