第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

將 mongo 條目解析為結(jié)構(gòu)體

將 mongo 條目解析為結(jié)構(gòu)體

Go
慕碼人8056858 2021-11-01 10:42:10
我有具有以下架構(gòu)的 mongo 數(shù)據(jù)庫{   "_id" : ObjectId("55c8526d8c16598efb5ee1e6"),   "guid" : "72811d52b48379e72c8fdd11aa09cb8b",   "blkid" : 1,   "vblkid" : 0,   "spltid" : 0,   "cmpr" : false,   "encr" : false,  "chksum" : "",  "dup" : false,  "cid" : 1,  "off" : 524508,  "len" : 524408,  "incr" : 0,  "fBackupID" : 0,  "vid" : 0,  "plugInType" : 0,   "blkType" : 0,   "alen" : 0 }我正在嘗試將這些解析為具有以下結(jié)構(gòu)的結(jié)構(gòu):type VhfsBlockMD struct {    GUID       string `json:"guid"`    BlkID      int    `bson:",minsize" json:"blkid"`    VBlkID     int    `bson:",minsize" json:"vblkid"`    SpltID     int    `bson:",minsize" json:"spltid"`    Cmpr       bool   `json:"cmpr" `    Encr       bool   `json:"encr"`    Blksum     string `bson:"blksum,omitempty" json:"blksum,omitempty"`    Chksum     string `json:"chksum"`    Dup        bool   `json:"dup"`    Cid        int    `bson:",minsize" json:"cid"`    SplitLen   int    `bson:",minsize" json:"len"`    Off        int64  `bson:",minsize" json:"off"`    Incr       int    `bson:",minsize" json:"incr"`    CDup       bool   `bson:"cdup,omitempty" json:"cdup,omitempty"`    FBackupID  int    `bson:"fBackupID" json:"fBackupID"`    Vid        int    `bson:"vid" json:"vid"`    PlugInType int    `bson:"plugInType" json:"plugInType"`    BlkType    int    `bson:"blkType" json:"blkType"`    Alen       int    `bson:"alen" json:"alen"`    IsValid    int    `bson:"-" json:"-"`    Len        uint64 `bson:"-" json:"-"`}我正在使用 mgo 驅(qū)動程序。現(xiàn)在的問題是,在僅解析屬性后,我無法正確解析為“l(fā)en”(go 結(jié)構(gòu)中的 SplitLen)。len 定義為SplitLen int `bson:",minsize" json:"len"`我相信這與標簽有關(guān)。另外我想提到的是,使用相同的結(jié)構(gòu)將值插入到 mongodb 中。任何幫助,將不勝感激。
查看完整描述

2 回答

?
白衣染霜花

TA貢獻1796條經(jīng)驗 獲得超10個贊

如果數(shù)據(jù)元素在其他表示形式(例如 json 文本或數(shù)據(jù)庫)中出現(xiàn)在與結(jié)構(gòu)字段名稱不同的名稱下,則必須告訴字段標記中的結(jié)構(gòu)字段要匹配哪個名稱。

你告訴json包來獲取/設(shè)置JSON值"len"到現(xiàn)場SplitLen這是由包括本在其標簽不同的名稱:json:"len"。

但是您還沒有告訴 mongo 驅(qū)動程序也使用這個字段,它很可能在您的 mongodb 中命名"Len"(或"len")。您明確排除了可以按名稱“自動匹配”的字段:

Len uint64 `bson:"-" json:"-"`

正如 Ainar-G 建議的那樣,您可以通過將"len"加到bson標簽值來指定該字段,這將強制 mgo 驅(qū)動程序也使用該SplitLen字段:

SplitLen int `bson:"len,minsize" json:"len"`

現(xiàn)在我看不到該Len字段的任何用途,您應該將其刪除以避免混淆,或者使用Len名稱而不是SplitLen

Len int `bson:"len,minsize" json:"len"`


查看完整回答
反對 回復 2021-11-01
?
肥皂起泡泡

TA貢獻1829條經(jīng)驗 獲得超6個贊

將字段名稱也添加到 BSON 標簽中:

SplitLen int `bson:"len,minsize" json:"len"

不然好像會和Len被忽略的字段沖突。


查看完整回答
反對 回復 2021-11-01
  • 2 回答
  • 0 關(guān)注
  • 152 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號