首頁  >  文章  >  後端開發  >  如何在 Golang 中將一個結構嵌入到另一個結構中以用於 MongoDB 的僅管理請求?

如何在 Golang 中將一個結構嵌入到另一個結構中以用於 MongoDB 的僅管理請求?

Patricia Arquette
Patricia Arquette原創
2024-11-17 07:50:03334瀏覽

How to Embed a Struct in Another Struct in Golang for Admin-Only Requests with MongoDB?

在Golang MongoDB 中將一個結構嵌入到另一個結構中

在這種情況下,當用戶對用戶資源發出GET請求時,僅相關欄位以JSON 形式傳回。具體來說,Secret 字段由於其 json:"-" 而被排除。但是,對於僅限管理員的請求,需要傳回機密欄位。

為管理員請求複製 User 結構並不理想。以下解決方案嘗試將 User 嵌入到 adminUser 中:

但是,此實作僅傳回 Secret 字段,這不是所需的行為。要達到所需的結果,請利用bson 套件的內聯標誌:

請注意,如果adminUser 和User 都包含Secret 金鑰,則從資料庫讀取時可能會導致重複金鑰錯誤。

另一種方法是從 User 中刪除 Secret 字段,只將其包含在 adminUser 中。這可確保寫入機密欄位僅限於管理員使用者。

以上是如何在 Golang 中將一個結構嵌入到另一個結構中以用於 MongoDB 的僅管理請求?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn