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

我们可以更新 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


倚天杖
浏览 183回答 1
1回答

慕标琳琳

我们可以更新 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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go