首頁 > 後端開發 > Golang > 主體

如何使用 mgo 在 MongoDB 中儲存巢狀結構並保留扁平結構?

Barbara Streisand
發布: 2024-11-07 00:53:02
原創
410 人瀏覽過

How to store nested structs in MongoDB with mgo and retain a flattened structure?

使用Mgo 在MongoDB 中儲存巢狀結構

Go 中的巢狀結構在轉換到MongoDB 文件時可能會帶來挑戰。當使用 json.Marshal 並寫入標準輸出時,嵌套結構會被展平。但是,當使用 mgo.Upsert 時,會保留巢狀結構。

要在 MongoDB 中保留扁平結構,請為巢狀結構使用 bson:",inline" 標籤。此標籤指示嵌套結構體的欄位應被視為外部結構體的一部分。

例如,考慮以下程式碼:

這裡,Square 結構體是使用 bson:",inline" 標籤嵌入到 Cube 結構中。當使用mgo.Upsert 與此結構時,產生的文件將具有以下格式:

這種內聯標記方法可讓您在MongoDB 中維護所需的扁平結構,而無需修改原始結構定義或訴諸於手動壓平技術。

以上是如何使用 mgo 在 MongoDB 中儲存巢狀結構並保留扁平結構?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!