mongodb - 从 mongodb 中提取嵌套结构数据

标签 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 数据库中(我正在使用 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/

关于mongodb - 从 mongodb 中提取嵌套结构数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49610484/

相关文章:

Golang 一起调用方法的最有效方式

javascript - mongoose/mongodb 查询从 javascript 数组中的每个发件人获取最后一个文档

json - MongoDB 配置文件格式

http - 从简单的 HTTP 服务器中的每个文件中删除 .html 扩展名

ios - 无法将结构变量设置为可变类型

c - 如何使用 XSL 翻译 C 结构中的 XML 文档

c - 在 C 中的 malloc 字符串之前保留元数据是否安全?

node.js - Mongo $push 运算符不接受根据 typescript : "No overload matches this call" 的对象

mongodb - NoSQL 与关系数据库与可能的混合

go - 如何将累加器传递给递归函数?