Skip to content

查询条件 - $slice

函数构建

query 包提供 SliceSliceRanger 两个函数。

使用 Slice 指定返回数组中的元素数量:

go
// bson.D{bson.E{Key:"comments", Value:bson.D{bson.E{Key:"$slice", Value:5}}}}
slice := query.Slice("comments", 5)

使用 SliceRanger 指定起始位置和返回数量:

go
// bson.D{bson.E{Key:"comments", Value:bson.D{bson.E{Key:"$slice", Value:[]int{10, 5}}}}}
slice := query.SliceRanger("comments", 10, 5)

方法构建(构建器)

构建器提供同名方法,适用于和其他投影条件组合。

使用 Slice

go
// bson.D{bson.E{Key:"comments", Value:bson.D{bson.E{Key:"$slice", Value:5}}}}
slice := query.NewBuilder().
    Slice("comments", 5).
    Build()

使用 SliceRanger

go
// bson.D{bson.E{Key:"comments", Value:bson.D{bson.E{Key:"$slice", Value:[]int{10, 5}}}}, bson.E{Key:"logs", Value:bson.D{bson.E{Key:"$slice", Value:3}}}}
slice := query.NewBuilder().
    SliceRanger("comments", 10, 5).
    Slice("logs", 3).
    Build()