Med Collection.Find()
du kan bara ange filtret. Men vad du har är en projektion:
{"contr":{$slice:[0,10]}
Projektioner kan specificeras med Query.Select()
, så det är så här du kan använda 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
Observera också att egenskapen du filtrerar efter är "id"
eller är bara ett stavfel och det ska vara "_id"
. Om den senare kan du också använda Collection.FindId()
för att fråga efter dokument-ID:
err := DB.C("con").FindId(ID).Select(bson.M{
"contr": bson.M{"$slice": []int{offset, limit}},
}).All(&results)