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

Wycinek zapytania MongoDB do golang

Z Collection.Find() możesz tylko określić filtr. Ale masz tylko projekcję:

{"contr":{$slice:[0,10]}

Projekcje można określić za pomocą Query.Select() , więc w ten sposób możesz zastosować $slice w projekcji:

var results []bson.M // Use your own type here, but this works too

err := DB.C("con").Find(bson.M{"id": ID}).Select(bson.M{
    "contr": bson.M{"$slice": []int{offset, limit}},
}).All(&results)

// handle error

Pamiętaj również, czy właściwość, według której filtrujesz, to "id" lub to tylko literówka i powinna to być "_id" . Jeśli to drugie, możesz również użyć Collection.FindId() zapytanie według identyfikatora dokumentu:

err := DB.C("con").FindId(ID).Select(bson.M{
    "contr": bson.M{"$slice": []int{offset, limit}},
}).All(&results)



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB $godzina

  2. Aktualizacja i wyszukiwanie struktury osadzania Mongodb?

  3. Wyszukiwanie MongoDB według typu DateTime nie działa

  4. MongoDB $concatArrays

  5. jak mogę przepisać moje zapytanie z mangusty po podzieleniu danych z jednego modelu na dwa?