在前面的分享中,有讲解 “详解MongoDB中的多表关联查询($lookup)” 一节,其内容涵盖了常见的集合管理的需求。我们知道文档的选择都是通过$match进行匹配刷选。但这是文档间的匹配筛选,并没有对单个新生成的文档进行内嵌子文档进行筛选。
那么什么是$lookup后新文档的内嵌子文档呢?
假设有以下2个集合,一个是商品库存集合 inventory,存储的测试数据 如下:
db.inventory.insert([ { "_id" : 1, "sku" : "almonds", product: "product 1", "instock" : 120 }, { "_id" : 2, "sku" : "bread1", product: "product 2", "instock" : 80 }, { "_id" : 3, "sku" : "bread2", product: "product 2", "instock" : 80 }, { "_id" : 4, "sku" : "pecans1", product: "product 4", "instock" : 70 }, { "_id" : 5, "sku" : "pecans2", product: "product 4", "instock" : 70 }, ])