mongodb lookup
时间: 2023-10-09 09:05:14 浏览: 123
MongoDB中多表关联查询($lookup)的深入讲解
MongoDB的$lookup是一种强大的聚合操作,它允许我们在多个集合之间进行关联查询。$lookup操作可以将一个集合的文档与另一个集合的文档关联起来,并将匹配的结果合并到输出文档中。在关联过程中,我们可以指定关联的字段、关联的集合以及输出文档中存储关联结果的字段名。
$lookup操作主要包含以下参数:
- from: 指定要关联的集合名。
- localField: 指定当前集合中用于关联的字段名。
- foreignField: 指定目标集合中用于关联的字段名。
- as: 指定合并结果存储在输出文档中的字段名。
举个例子,下面的聚合操作将在product集合中查找价格大于20的文档,并将匹配的结果与orders集合中的文档关联起来,最后将关联结果存储在inventory_docs字段中:
```
db.product.aggregate([
{
$lookup: {
from: "orders",
localField: "_id",
foreignField: "pid",
as: "inventory_docs"
}
},
{ $match: { price: { $gt: 20 } } }
])
```
阅读全文