bson.M
adalah tipe peta, jadi bson.M{ ... }
adalah literal peta
. Jika pasangan nilai kunci ditulis dalam beberapa baris, setiap baris harus diakhiri dengan koma. Untuk detailnya, lihat Bagaimana cara memecahkan baris kode yang panjang di Golang?
Juga tidak ada literal "antarmuka", jatuhkan itu. Nilai interface{}
type dapat menampung / membungkus nilai apa pun, termasuk bson.M
nilai. Dan interface{}
pembuatan nilai dilakukan secara otomatis, Anda bahkan tidak memerlukan jenis konversi
.
Sintaks yang benar:
convIter := Session.Copy().DB("").C("convs").Find(bson.M{
"conversationStatus": bson.M{
"$ne": "DESTROYED",
},
}).Iter()
Demikian pula, jika Anda menggunakan bson.D
type (yang merupakan irisan), baris yang tidak diakhiri dengan kurung tutup literal harus diakhiri dengan koma, mis.:
d := bson.D{
{Name: "fieldA", Value: 1},
{Name: "fieldB", Value: "running"},
}