Skip to content

更新文档 - $slice

$slice$push 的修饰符,和查询投影里的 $slice 不是同一类接口。

函数构建

使用 update 包提供的 Slice 函数构建 $slice 片段。

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

方法构建(构建器)

$slice 通常需要和 $each 放在同一个 bson.D 中,再作为 $push 的值传入。

go
// bson.D{bson.E{Key:"$push", Value:bson.D{bson.E{Key:"scores", Value:bsonx.NewD().Add("$each", []int{90, 95}).Add("$slice", 5).Build()}}}}
update.NewBuilder().
    Push("scores", bsonx.NewD().
        Add("$each", []int{90, 95}).
        Add("$slice", 5).
        Build()).
    Build()