使用 AnimalDB 的 Go API,我可以定义一个结构来发布 founaDB,如下所示:
type LabelData struct {
RedirectURL string `fauna:"redirectURL"`
Owner string `fauna:"owner"`
RedirectCount int `fauna:"redirectCount"`
}
然后我可以使用labelData 一次性为Label Data 结构调用 Create,如下所示:
labelData := LabelData{
RedirectURL: "",
Owner: "",
RedirectCount: 0,
}
newlabel, _ := client.Query(
f.Create(
f.Collection("label"),
f.Obj{"data": labelData},
),
)
我的问题是,我能否将上面一次性创建的文档数据转换为 LabelData 类型的有价值的数据?目前,我将其用于 LabelData 类型的每个元素,如下所示:
func faunaLabelInfo(id string) (owner string, redirectCount int, redirectURL string, err error) {
var data f.Value
ret, err := client.Query(f.Get(f.RefCollection(f.Collection("label"), documentID)))
err = ret.At(f.ObjKey("data")).Get(&data)
err = data.At(f.ObjKey("owner")).Get(&owner)
err = data.At(f.ObjKey("redirectCount")).Get(&redirectCount)
err = data.At(f.ObjKey("redirectURL")).Get(&redirectURL)
我的预期如下,但这是错误的。
var labelData LabelData
ret.At(f.ObjKey("LabelData")).Get(&labelData)
谢谢你的建议!