Mit Collection.Find()
Sie können nur den Filter angeben. Aber was Sie haben, ist eine Projektion:
{"contr":{$slice:[0,10]}
Projektionen können mit Query.Select()
angegeben werden
, so können Sie also ein $slice
anwenden in 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
Achten Sie auch darauf, ob die Eigenschaft, nach der Sie filtern, "id"
ist oder ist nur ein Tippfehler und sollte "_id"
sein . Im letzteren Fall können Sie auch Collection.FindId()
zur Abfrage nach Dokument-ID:
err := DB.C("con").FindId(ID).Select(bson.M{
"contr": bson.M{"$slice": []int{offset, limit}},
}).All(&results)