mongodb compass联级查询获取工厂下的产线
时间: 2024-09-28 22:03:23 浏览: 24
MongoDB Compass 是一个用于管理和探索 MongoDB 数据库的图形用户界面工具。在 Compass 中,如果你想进行联级查询(也称为嵌套查询或JOIN查询),通常是在数据模型设计成层级结构时,比如有一个"factory"集合包含各个工厂的信息,另一个"line"集合关联到每个工厂的产线。
假设你有两个集合,一个是 "factories",有 "id" 和 "lines" 字段(这是一个数组,包含了多个 "line" 的文档引用),另一个是 "lines" 集合,有自己的独立字段。你可以使用 Compass 的聚合管道功能或者直接在 Compass 查询编辑器中编写 JSON 风格的查询来获取某个特定工厂下的所有产线。
例如,如果你想要获取工厂 ID 为 'factoryId' 的工厂的所有产线,可以编写这样的查询:
```json
db.factories.find(
{ _id: 'factoryId' },
{ lines: { $unwind: '$lines' } }
).project({ factory: 1, line: '$lines' })
```
这个查询首先筛选出工厂ID为 'factoryId' 的文档,然后对 "lines" 列表进行 unwind,展开为单个文档,最后投影出工厂信息和每个产线的信息。
阅读全文