在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}
}
])
还有其他获取结果的方法吗?
答案 0 :(得分:0)
在管道末端再使用一个$match
条件
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"
}},
{ "$match": { "Orders": [] }}
])