使用 Go 将结构体数组插入到 Mongodb
Insert struct have array to Mongodb with Go
我想将如下数据结构插入到 MongoDB
{
"rolecode": "DHBK1_ROLE_04",
"functioncodelist": [
"DHBK1_FUNC_1",
"DHBK1_FUNC_2",
.....
"DHBK1_FUNC_n"]
"productid": "ABC_Platform",
"comid": "DHBK1"
}
这是我的代码:
package main
import (
"context"
"gopkg.in/mgo.v2"
)
func main() {
insertObj()
}
type CompanyRoleFunction struct {
Rolecode string `json:"rolecode"`
Productid string `json:"productid"`
Functioncodelist []string
Comid string `json:"comid"`
}
func insertObj() {
session, err := mgo.Dial("mongodb://casuser:Mellon@222.255.102.145:27017/users")
if err != nil {
panic(err)
}
c := session.DB("users").C("company_role_function")
var companyRoleFunction CompanyRoleFunction
companyRoleFunction.Rolecode = "DHBK1_ROLE_05"
companyRoleFunction.Productid = "XYZ_Platform"
companyRoleFunction.Comid = "DHBK1"
err = c.Insert(companyRoleFunction)
if err != nil {
fmt.Println(err)
}
}
我的代码有运行但它只插入这样的结构(当然,因为我不知道如何处理数组 Functioncodelist )
[![在此处输入图片描述][1]][1]
这是我的数据,希望能插入
{"_id":{"$oid":"5ed0c2e2402a000037004c84"},"rolecode":"DHBK1_ROLE_07","functioncodelist":["DHBK1_FUNC_1","DHBK1_FUNC_2"],"productid":"ABC_Platform","comid":"DHBK1"}
它没有出现在数据库中,因为您插入的文档不包含任何值。
在你的代码中设置一个值,它应该在数据库中显示得很好,除非我误解了你的问题。
...
type Functioncode string
...
companyRoleFunction.Functioncodelist = make(map[string]Functioncode)
...
companyRoleFunction.Functioncodelist["foo"] = "bar"
...
有关围棋地图的快速介绍,请参阅https://tour.golang.org/moretypes/19。
我想将如下数据结构插入到 MongoDB
{
"rolecode": "DHBK1_ROLE_04",
"functioncodelist": [
"DHBK1_FUNC_1",
"DHBK1_FUNC_2",
.....
"DHBK1_FUNC_n"]
"productid": "ABC_Platform",
"comid": "DHBK1"
}
这是我的代码:
package main
import (
"context"
"gopkg.in/mgo.v2"
)
func main() {
insertObj()
}
type CompanyRoleFunction struct {
Rolecode string `json:"rolecode"`
Productid string `json:"productid"`
Functioncodelist []string
Comid string `json:"comid"`
}
func insertObj() {
session, err := mgo.Dial("mongodb://casuser:Mellon@222.255.102.145:27017/users")
if err != nil {
panic(err)
}
c := session.DB("users").C("company_role_function")
var companyRoleFunction CompanyRoleFunction
companyRoleFunction.Rolecode = "DHBK1_ROLE_05"
companyRoleFunction.Productid = "XYZ_Platform"
companyRoleFunction.Comid = "DHBK1"
err = c.Insert(companyRoleFunction)
if err != nil {
fmt.Println(err)
}
}
我的代码有运行但它只插入这样的结构(当然,因为我不知道如何处理数组 Functioncodelist )
[![在此处输入图片描述][1]][1]
这是我的数据,希望能插入
{"_id":{"$oid":"5ed0c2e2402a000037004c84"},"rolecode":"DHBK1_ROLE_07","functioncodelist":["DHBK1_FUNC_1","DHBK1_FUNC_2"],"productid":"ABC_Platform","comid":"DHBK1"}
它没有出现在数据库中,因为您插入的文档不包含任何值。 在你的代码中设置一个值,它应该在数据库中显示得很好,除非我误解了你的问题。
...
type Functioncode string
...
companyRoleFunction.Functioncodelist = make(map[string]Functioncode)
...
companyRoleFunction.Functioncodelist["foo"] = "bar"
...
有关围棋地图的快速介绍,请参阅https://tour.golang.org/moretypes/19。