dongsheng4679
dongsheng4679
2018-04-02 11:31
浏览 156

从mongodb中提取嵌套的struct数据

Have a struct as follows

type Person struct {
   ID    bson.ObjectId `bson:"_id,omitempty"`
   Name  string        `json:"name"`
   Phone string        `json:"phone"`
}

and then want to nest it in another struct

type Customer struct {
   ID        bson.ObjectId `bson:"_id,omitempty"`
   StoreName string
   Person    Person        `json:"persons"`
}

instantiated as

customer := Customer{bson.NewObjectId(), "Seattle", p1}

and insterted into Mongo db (I am using the mgo driver for golang)

err = databaseConnection.Insert(&customer)

How do I retrieve the customer struct from the DB using parameters from the nested Person struct? E.g. pull all Customer structs that have a Person struct named “John”

I am trying

err = databaseConnection.Find(bson.M{XXXXXXXXX}).All(&resultsB)

but I can’t figure out what XXXXXX should be.

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dongpiao8821
    dongpiao8821 2018-04-02 11:57
    已采纳

    You could try something like that: bson.M{"person.name": "john"}

    check mongodb documentation on embedded documents: https://docs.mongodb.com/manual/tutorial/query-embedded-documents/

    点赞 评论

相关推荐