gpt4 book ai didi

使用 mgo 适配器去嵌套对象

转载 作者:数据小太阳 更新时间:2023-10-29 03:06:35 27 4
gpt4 key购买 nike

我正在从事一个基于 MongoDB 数据结构的项目。我们存储在数据库中的对象如下所示:

{
"_id" : ObjectId("567a877df1c7720bea7c2f51"),
"username" : "dog",
"type" : "regular",
"data" : {
"full" : {
"xx" : "xx",
"xx" : "xx",
"yy" : {
"xx" : "test"
},
"yy" : {
"xx" : {

}
}
}
}

我们使用 Golang 处理的结构如下所示:

type User struct {
Id bson.ObjectId `bson:"_id,omitempty"`
username string
Type string
data struct {
full struct {
xx string `json:"xx"`
xx string `json:"xx"`
xxx struct{} `json:"xx"`
yy struct {

}
}
}
}

问题是第一个属性毫无问题地填充了数据,但对象内的对象不起作用。

我们提取数据的代码是我们在 MGO 文档中看到的常规代码。

err = collection.Find(bson.M{"username": username}).One(&user)

有什么具体的方法可以用这种方式获取数据吗?

最佳答案

这是我亲手写的。但是你必须记住大写的名称字段,以及结构中的属性 json 形式。

type User struct {
Id bson.ObjectId `bson:"_id,omitempty"`
Username string
Type string
Data struct { // Data nor data
Full struct { // Full nor full
Xx string `json:"xx"` // Xx nor xx
Xx string `json:"xx"`
Xxx struct{} `json:"xx"`
Yy struct { // Yy nor yy

}`json:"yy"`
} `json:"full"`
} `json:"data"`
}

编辑:

另一个工作示例

Go 中的结构

type Event struct{

EvL []struct {
BaV int `json:"basicV"`
ChI int `json:"chann"`
DaU int `json:"dataU"`

} `json:"eventL"`

ST int `json:"send.dat_ts"`
}

下面是如何把上面的结构写入DB

{ "_id" :

ObjectId("560d422e65f47eef8a118cbd"),
"evl" :
[
{
"bav" : 255,
"chi" : 14,
"dau" : 0,
],
"st" : 5
}

关于使用 mgo 适配器去嵌套对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34479595/

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