gpt4 book ai didi

mongodb - 如何在 mgo 中使用 $pushAll

转载 作者:IT王子 更新时间:2023-10-29 01:53:12 25 4
gpt4 key购买 nike

我像这样存储

type Test struct {
Key string
Tags []string
}

在 mongodb 中,然后我想更新标签添加一些其他标签,我找到了 $pushAll , 但我不知道如何使用它。

我试试

mongoDb.C("test").Update(
bson.M{"key": key},
bson.M{"$set": bson.M{"tags": bson.M{"$pushAll": tags}}}
)

但这是错误的。

最佳答案

运营商喜欢$set$push甚至 $pushAll为语句的“更新”部分定义操作。这些是“顶级”运算符,因此您可以在更新语句的“根”级别定义它们,并在其子项中使用要操作的字段:

mongoDb.C("test").Update(
bson.M{"key": key},
bson.M{"$pushAll": bson.M{"tags": tags}}
)

从 MongoDB 2.6 开始,虽然 $pushAll 运算符被认为已弃用。该功能已与 $each 合并修饰符,也适用于 $addToSet :

mongoDb.C("test").Update(
bson.M{"key": key},
bson.M{"$push": bson.M{"tags": bsonM.{"$each": tags} }}
)

自 MongoDB 2.4 起,该运算符可用于 $push,其中最新版本的区别在于省略了 $slice。早期版本也需要修改器。除非您需要支持遗留版本,否则通常建议使用 $each 修饰符来代替将来的兼容性。

关于mongodb - 如何在 mgo 中使用 $pushAll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25276942/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com