gpt4 book ai didi

mongodb - 如何更新子文档数组字段以及 Mongodb、Mgo 中的其他一些字段?

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

我们可以更新子文档数组字段以及 Mgo 中的其他文档字段吗?如果是这样,请帮助我查询。

 c := db.C("user")
colQuerier := bson.M{"email": *olduname}
change := bson.M{"$set":bson.M{"password":*pwd, "place":*place, "emails.$.received":*received,"emails.$.sent":*sent}}
err := c.Update(colQuerier, change)

我的数据库结构如下:

type Emails struct{
Id bson.ObjectId `bson:"_id,omitempty"`
Received string
Sent string
}

type User struct {
Id bson.ObjectId `bson:"_id,omitempty"`
Email string
Password string
Place string
Emails

}

我收到运行时错误消息:位置运算符未从查询中找到所需的匹配项。未展开更新:emails.$.received

最佳答案

它应该是 emails.received 因为 received 不是数组,所以你不需要位置运算符 $:

c := db.C("user")
colQuerier := bson.M{"email": *olduname}
change := bson.M{"$set":bson.M{"password":*pwd, "place":*place, "emails.received":*received}}
err := c.Update(colQuerier, change)

关于mongodb - 如何更新子文档数组字段以及 Mongodb、Mgo 中的其他一些字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35199952/

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