我的json:
{
"doc_id": "58107c7913065ff99318b268",
"first_name": "test",
"last_name": "test123",
"email": "mail@account.com",
"company": {
"company_id": "580ab2b8ded0b2dfa56b9879",
"name": "Test company",
"contact_info": null,
"location": {
"location_id": "58094b8eded0b2dfa56b9864",
"name": "NY",
"formatted_address": "277 Canal St, New York, NY 10013, Stany Zjednoczone",
"additional_options": "",
"latitude": 50.894028,
"longitude": 4.473816
}
},
"role": "USER"
},
我想搜索user.company.name = 'Test company'
或user.company.location.name = 'NY'
有没有找到它的选项?
这不起作用:
db.getCollection('User').find({"company.name": "NY"})
我也想在教义mongodb中这样做但是没有用。我错了什么?
答案 0 :(得分:0)
也是一件重要的事情。关系是通过引用而不是嵌入文档来进行的。
如果是这种情况,那么使用简单查询基本上是运气不好。简单查询无法进行连接。您只能查询完整的文档。
然而,您可以使用$ lookup运算符执行多步聚合。它是在3.2版本中引入的,因此您可能正在运行兼容版本。
查看introductory post或relevant documentation。
请注意,如果您之前没有使用过聚合,那么就会有一些学习曲线 - 至少对我来说就是这种情况。