亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

結構中的省略不省略

結構中的省略不省略

Go
斯蒂芬大帝 2023-05-15 15:36:57
我試圖在不發送空數據的情況下將數據存儲到 MongoDB。有問題的結構是投票和問題。傳入數據的范圍從有 2 個問題到 5 個問題。因此,如果用戶只輸入 2 個問題,我將不需要使用 Poll 結構中的其他 3 個字段。我寧愿讓這些字段根本不出現,也不愿將空數據發送到服務器。package main// Omit Empty not workingtype Poll struct {Id     bson.ObjectId `bson:"_id"`  Quest0 *Question     `json:"quest0,omitempty"`  Quest1 *Question     `json:"quest1,omitempty"`  Quest2 *Question     `json:"quest2,omitempty"`  Quest3 *Question     `json:"quest3,omitempty"`  Quest4 *Question     `json:"quest4,omitempty"`  Quest5 *Question     `json:"quest5,omitempty"`}type Question struct {  Count    *int    `json:"count,omitempty"`  Question *string `json:"question,omitempty"`}type ReceivedPoll struct {  Quest0 string `db:"quest0"`  Quest1 string `db:"quest1"`  Quest2 string `db:"quest2"`  Quest3 string `db:"quest3"`  Quest4 string `db:"quest4"`  Quest5 string `db:"quest5"`}func main() {  fmt.Println("server running...")  router := httprouter.New()  router.POST("/api/create", api)  router.NotFound = http.FileServer(http.Dir("./public"))  log.Fatal(http.ListenAndServe(":5000", router))}func api(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {  w.Header().Set("Content-type", "application/json")  session, err := mgo.Dial(mkey)  if err != nil {    panic(err)  }  defer session.Close()  fmt.Println("is this running?")  switch r.URL.String() {    case "/api/create":      // LOOK HERE      poll := &Poll{}      json.NewDecoder(r.Body).Decode(&poll)      poll.Id = bson.NewObjectId()      fmt.Println(*poll)      c := session.DB("abase").C("polls")      err = c.Insert(*poll)      if err != nil {        fmt.Println(err)      }      rz, _ := json.Marshal(poll.Id)      w.Write(rz)  }}
查看完整描述

1 回答

?
HUH函數

TA貢獻1836條經驗 獲得超4個贊

添加bsonmgo BSON 編碼器使用的密鑰。編碼器忽略json密鑰。

type Poll struct {

? ? Id? ? ?bson.ObjectId `bson:"_id"`

? ? Quest0 *Question? ? ?`json:"quest0,omitempty" bson:"ques0:omitempty"`

? ? ...


查看完整回答
反對 回復 2023-05-15
  • 1 回答
  • 0 關注
  • 195 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號