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

MongoDB udsnit forespørgsel i golang

Med Collection.Find() du kan kun angive filteret. Men hvad du har, er en projektion:

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

Projektioner kan specificeres ved hjælp af Query.Select() , så det er sådan, du kan anvende en $slice i projektion:

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

Bemærk også, om den egenskab, du filtrerer efter, er "id" eller er bare en tastefejl, og det skal være "_id" . Hvis sidstnævnte, kan du også bruge Collection.FindId() for at forespørge efter dokument-id:

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



  1. Få mongoStat gennem mongoDB Java-driver

  2. kan ikke starte mongodb som sudo

  3. Hvorfor får jeg fejl 500. Vi beklager, men noget gik galt, da jeg sendte min app til Heroku?

  4. find det første af dokumenter for hver enkelt værdi for et felt