bson.M
je typ mapy, takže bson.M{ ... }
je mapový literál
. Pokud jsou páry klíč–hodnota zapsány ve více řádcích, musí každý končit čárkou. Podrobnosti viz Jak přerušit dlouhý řádek kódu v Golangu?
Také neexistuje doslovný „rozhraní“, toho nechte. Hodnota interface{}
typ může obsahovat / zalomit jakoukoli hodnotu, včetně bson.M
hodnota. A interface{}
vytváření hodnoty je automatické, nepotřebujete ani typ konverze
.
Správná syntaxe:
convIter := Session.Copy().DB("").C("convs").Find(bson.M{
"conversationStatus": bson.M{
"$ne": "DESTROYED",
},
}).Iter()
Podobně, pokud používáte bson.D
type (což je řez), řádky, které nekončí uzavírací závorkou literálu, musí končit čárkou, např.:
d := bson.D{
{Name: "fieldA", Value: 1},
{Name: "fieldB", Value: "running"},
}