Anda dapat menggunakan peta umum, misalnya:
var result map[string]interface{}
err := collection.Find(query).One(&result)
Anda akan menemukan orang yang menggunakan bson.M
, yang juga merupakan peta dengan tipe dasar yang sama. Tidak ada yang istimewa dari bson.M
, meskipun. Itu hanya nama pendek dan nyaman untuk peta. Anda dapat membuat nama Anda sendiri yang nyaman, atau menggunakan peta biasa seperti pada contoh di atas.
Cara lain untuk memiliki akses ke dokumen tanpa skema yang ditentukan adalah menggunakan bson.D
menggantikan jenis peta di atas. bson.D
paling berguna ketika urutan elemen dalam dokumen relevan, atau jika Anda ingin sedikit mengurangi overhead operasi (peta sedikit lebih mahal untuk ditangani karena sifatnya). bson.D
type adalah irisan nilai struct dengan pasangan Kunci/Nilai. Tidak seperti bson.M
, bson.D
khusus dan ditangani secara internal oleh paket mgo/bson.