首頁 > 後端開發 > Golang > 如何使用 mgo 在 Go 中查詢非結構化 MongoDB 集合?

如何使用 mgo 在 Go 中查詢非結構化 MongoDB 集合?

Barbara Streisand
發布: 2024-12-26 08:44:14
原創
570 人瀏覽過

How to Query Unstructured MongoDB Collections in Go with mgo?

使用mgo 處理Go 中的非結構化MongoDB 集合

使用mgo 查詢MongoDB 中的集合時,可以預定義將要執行的數據。以結構體形式傳回,如提供的 Person 結構體範例所示。但是,在某些情況下,集合中的文件可能具有不同的鍵集。

如何在 Go / mgo 中處理非結構化集合

有多種方法在 Go / mgo中處理非結構化集合:

使用map:

透過使用bson.M類型,即map[string]interface{},您可以直接儲存文件資料,而無需定義特定的結構體。

var m bson.M
err := collection.Find(nil).One(&m)
check(err)
for key, value := range m {
    fmt.Println(key, value)
}
登入後複製

使用文件切片:

bson.D 是保留排序的切片類型鍵並提供了處理文件的有效機制。

var d bson.D
err := collection.Find(nil).One(&d)
check(err)
for i, elem := range d {
    fmt.Println(elem.Name, elem.Value)
}
登入後複製

使用內聯映射欄位:

透過在映射欄位中使用,inline bson 標誌結構體,您可以將使用結構體的便利性與處理未知欄位的靈活性結合。

type Person struct {
    ID        bson.ObjectId `bson:"_id,omitempty"`
    Name      string
    Phone     string
    Extra     bson.M `bson:",inline"`
}
登入後複製

以上是如何使用 mgo 在 Go 中查詢非結構化 MongoDB 集合?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板