bson.M
はマップタイプであるため、bson.M{ ... }
マップリテラル
です。 。キーと値のペアが複数の行に書き込まれる場合、それぞれがコンマで終わる必要があります。詳細については、 Golangで長いコード行を分割するにはどうすればよいですか?
また、「インターフェース」リテラルはありません。それを削除してください。 interface{}
の値 typeは、bson.M
を含む任意の値を保持/折り返すことができます 価値。そして、interface{}
値の作成は自動的に行われるため、タイプ変換
も必要ありません。 。
正しい構文:
convIter := Session.Copy().DB("").C("convs").Find(bson.M{
"conversationStatus": bson.M{
"$ne": "DESTROYED",
},
}).Iter()
同様に、 bson.D
を使用する場合
タイプ(スライス)、リテラルの閉じ括弧で終わらない行は、コンマで終わらせる必要があります(例:
d := bson.D{
{Name: "fieldA", Value: 1},
{Name: "fieldB", Value: "running"},
}