从mongodb中提取嵌套的struct数据

时间:2018-04-02 11:31:59

标签: mongodb go struct mgo

有一个结构如下

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

然后想要将它嵌套在另一个结构

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

实例化为

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

并插入Mongo db(我正在使用gogo的mgo驱动程序)

err = databaseConnection.Insert(&customer)

如何使用嵌套Person结构中的参数从DB检索客户结构?例如。拉出所有具有名为“John”

的Person结构的Customer结构

我正在尝试

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

但我无法弄清楚XXXXXX应该是什么。

1 个答案:

答案 0 :(得分:0)

您可以尝试类似的内容:bson.M{"person.name": "john"}

检查有关嵌入式文档的mongodb文档:https://docs.mongodb.com/manual/tutorial/query-embedded-documents/