MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

MongoDB w Go z mgo, operatory z bson.M / bson.D zawsze mają błąd składni

bson.M jest typem mapy, więc bson.M{ ... } jest literalem mapy . Jeśli pary klucz-wartość są zapisane w wielu wierszach, każdy musi kończyć się przecinkiem. Aby uzyskać szczegółowe informacje, zobacz Jak złamać długą linię kodu w Golangu?

Nie ma też literału „interfejsu”, odrzuć to. Wartość interface{} typ może przechowywać / zawijać dowolną wartość, w tym bson.M wartość. Oraz interface{} tworzenie wartości jest automatyczne, nie potrzebujesz nawet typu konwersja .

Prawidłowa składnia:

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

Podobnie, jeśli użyjesz bson.D typ (czyli plasterek), linie nie kończące się nawiasem zamykającym literału muszą kończyć się przecinkiem, np.:

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



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak połączyć tablice z wielu dokumentów w MongoDB?

  2. Jak znaleźć sumę wartości znajdujących się w zagnieżdżonej tablicy za pomocą agregacji mongodb?

  3. mongodb php pobiera unikalne wartości pól

  4. Pobierz dane z kolekcji MongoDB do Swing JTable

  5. XML do BSON za pomocą C#