mongodb 多表查询
时间: 2024-05-15 17:10:20 浏览: 231
MongoDB 是一种文档数据库,它支持多表查询,可以通过使用 MongoDB 的聚合管道和嵌套查询来实现多表查询。在 MongoDB 中,多个集合可以通过引用其他集合中的文档来关联数据。
以下是一个示例:假设我们有两个集合 "users" 和 "orders",并且每个用户可以有多个订单。我们可以通过在 "orders" 集合中添加一个 "user_id" 字段来关联两个集合。这个字段将包含该订单所属的用户的 ID。
要查询所有订单及其对应的用户信息,可以使用 MongoDB 的聚合管道。以下是一个示例查询:
```
db.orders.aggregate([
{
$lookup: {
from: "users",
localField: "user_id",
foreignField: "_id",
as: "user_info"
}
},
{
$unwind: "$user_info"
}
])
```
上面的查询使用了 $lookup 操作符来连接 "orders" 和 "users" 集合,其中 "user_id" 字段在 "orders" 集合中作为 localField,在 "users" 集合中作为 foreignField,最后将查询结果拆分成单个文档,以便于查看。
阅读全文