bson.M
ist ein Kartentyp, also bson.M{ ... }
ist ein Map-Literal
. Wenn Schlüssel-Wert-Paare in mehreren Zeilen geschrieben werden, muss jede mit einem Komma enden. Einzelheiten finden Sie unter Wie unterbricht man eine lange Codezeile in Golang?
Es gibt auch kein "Schnittstellen"-Literal, lass das. Ein Wert von interface{}
Typ kann jeden Wert enthalten / umschließen, einschließlich bson.M
Wert. Und die interface{}
Die Wertschöpfung erfolgt automatisch, Sie benötigen nicht einmal eine Art Conversion
.
Richtige Syntax:
convIter := Session.Copy().DB("").C("convs").Find(bson.M{
"conversationStatus": bson.M{
"$ne": "DESTROYED",
},
}).Iter()
Ebenso, wenn Sie bson.D
verwenden
type (was ein Slice ist), müssen Zeilen, die nicht mit der schließenden Klammer des Literals enden, mit einem Komma enden, z. B.:
d := bson.D{
{Name: "fieldA", Value: 1},
{Name: "fieldB", Value: "running"},
}