从 mongodb 中提取嵌套结构数据

extracting nested struct data from mongodb

结构如下

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 数据库(我正在使用 golang 的 mgo 驱动程序)

err = databaseConnection.Insert(&customer)

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

我正在努力

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

但我想不出 XXXXXX 应该是什么。

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

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