gpt4 book ai didi

database - 在 MongoDB 中如何使用 $lookup 仅获取不匹配的记录?

转载 作者:行者123 更新时间:2023-12-04 12:19:45 28 4
gpt4 key购买 nike

在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管道末端状态

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": [] }}
])

关于database - 在 MongoDB 中如何使用 $lookup 仅获取不匹配的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54362233/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com