sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB i Go med mgo, operatører med bson.M / bson.D fik altid syntaksfejl

bson.M er en korttype, så bson.M{ ... } er en kortbogstav . Hvis nøgle-værdi-par er skrevet i flere rækker, skal hver ende med et komma. For detaljer, se Hvordan knækker man en lang kodelinje i Golang?

Der er heller ingen "grænseflade" bogstaveligt, slip det. En værdi af interface{} type kan holde / ombryde enhver værdi, inklusive en bson.M værdi. Og interface{} værdiskabelse er automatisk, du behøver ikke engang en type konvertering .

Korrekt syntaks:

convIter := Session.Copy().DB("").C("convs").Find(bson.M{
    "conversationStatus": bson.M{
        "$ne": "DESTROYED",
    },
}).Iter()

På samme måde, hvis du bruger bson.D type (som er et udsnit), linjer, der ikke ender med den afsluttende parentes af bogstavet, skal slutte med et komma, f.eks.:

d := bson.D{
    {Name: "fieldA", Value: 1},
    {Name: "fieldB", Value: "running"},
}



  1. Gruppér Mongo-dokumenter efter id og få det seneste dokument efter tidsstempel

  2. C# MongoDB kompleks klasse serialisering

  3. 2 måder at slette en samling i MongoDB

  4. Sådan gør du:Brug HBase Thrift Interface, del 2:Indsættelse/hentning af rækker