mGo を使用した非構造化 MongoDB コレクションの処理
Go の初心者にとって、mGo を使用して非構造化 MongoDB コレクションを操作する方法は困惑するかもしれません。ドキュメントを配列に割り当てることができる PHP とは異なり、mGo では、コレクションを操作するために事前定義された構造体のマーシャリングが必要です。
格差への対処
幸いなことに、処理するにはいくつかのアプローチがあります。 Go with の非構造化コレクションmGo:
map[string] インターフェース{} (例: bson.M) を使用すると、未確認データのキーと値のペア。事前定義された構造体を必要とせずにキー値に直接アクセスできます。
var m bson.M err := collection.Find(nil).One(&m) check(err) for key, value := range m { fmt.Println(key, value) }
bson.D はキーの順序を維持するスライス。これは、MongoDB インデックスで定義されているキーのシーケンスを保持する場合に特に役立ちます。
var d bson.D err := collection.Find(nil).One(&d) check(err) for i, elem := range d { fmt.Println(elem.Name, elem.Value) }
結合構造体とマップの利点により、インライン マップ フィールドを使用すると、未知のフィールドを残す余地を残しつつ、特定のフィールドを定義できます。
type Person struct { ID bson.ObjectId `bson:"_id,omitempty"` Name string Phone string Extra bson.M `bson:",inline"` }
これらの手法を使用すると、MongoDB コレクション内の構造化データと非構造化データの両方を簡単に操作できます。
以上がGo の mGo を使用して非構造化 MongoDB コレクションを効果的に処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。