sql >> Database >  >> NoSQL >> MongoDB

MongoDB segmenteert query in golang

Met Collection.Find() u kunt alleen het filter specificeren. Maar wat je hebt is een projectie:

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

Projecties kunnen worden gespecificeerd met Query.Select() , dus zo kun je een $slice . toepassen in projectie:

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

Let er ook op of de eigenschap waarop u filtert "id" is of is gewoon een typefout en het moet "_id" . zijn . Als het laatste het geval is, kunt u ook Collection.FindId() om te zoeken op document-ID:

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



  1. Mangoose-validatiefouten afhandelen - waar en hoe?

  2. object in array-schema in Mongoose duwen

  3. Een verzameling sorteren met het laatste element van een array

  4. Mongodb C# bulk update/vervangen op subcollectie