【发布时间】:2019-06-19 02:36:36
【问题描述】:
在MongoDB中,我想获取那些没有订单的产品的数据。
集合:master_product_details、master_order_details
我正在使用普通的 $lookup 查询,它给出所有匹配或不匹配的记录。
db.master_product_details.aggregate([
{
$match: { seller_user_id : 'seller_id' }
},
{
$lookup : {from: "master_order_details",localField: "seller_sku_id", foreignField: "sku_id", as : "Orders"}
},
{$unwind : '$Orders'},
{$project : { seller_sku_id : 1, product_title : 1, _id : 0}
}
])
还有其他方法可以得到结果吗?
【问题讨论】:
-
在末尾再使用一个
$match条件。{ $match: { Orders: [] }} -
是的,谢谢@AnthonyWinzlet,我只是将 {$unwind : '$Orders'} 替换为 { $match: { Orders: [] }} 并得到了我想要的结果。
标签: database mongodb aggregate-functions