MongoDB多集合关联查询:获取指定订单及对应库存数据
订单与库存关联的MongoDB查询实现
核心查询语句
db.Orders.aggregate([ // 筛选_id为1的订单记录 { $match: { _id: 1 } }, // 关联库存集合,匹配inventId数组中的id值 { $lookup: { from: "inventoryCollection", localField: "inventId", foreignField: "id", as: "inventoryItems" } }, // 按需调整输出结构(根据你的示例输出字段修改) { $project: { _id: 1, // 替换为订单集合实际字段,如orderDate、customerId等 orderDate: 1, customerId: 1, inventId: 1, inventoryItems: { id: 1, productName: 1, stockQuantity: 1 // 替换为库存集合实际字段 } } } ])
关键说明
$match阶段快速定位目标订单,减少后续处理的数据量$lookup实现跨集合关联:将Orders中inventId数组的每个值,与inventoryCollection的id字段匹配,匹配结果存入inventoryItems数组$project阶段用于裁剪输出字段,完全对齐你需要的示例结构,可根据实际集合的字段名调整
内容的提问来源于stack exchange,提问作者Muhammad Salman
相关产品推荐
相关产品推荐

