आप MongoDB v3.6
. से उपलब्ध असंबद्ध उप-प्रश्नों का उपयोग कर सकते हैंdb.Profile.aggregate([
{
$match: { is_del: false }
},
{
$lookup: {
from: "Store",
as: "stores",
let: {
pid: { $toString: "$_id" }
},
pipeline: [
{
$match: {
is_del: false,
$expr: { $eq: ["$$pid", "$id"] }
}
},
{
$lookup: {
from: "Item",
as: "items",
let: {
sid: { $toString: "$_id" }
},
pipeline: [
{
$match: {
is_del: false,
$expr: { $eq: ["$$sid", "$sid"] }
}
},
{
$count: "count"
}
]
}
},
{
$unwind: "$items"
}
]
}
}
])
प्रदर्शन में सुधार करने के लिए, मेरा सुझाव है कि आप संदर्भ आईडी को ObjectId
. के रूप में संग्रहीत करें इसलिए आपको प्रत्येक चरण में उन्हें रूपांतरित करने की आवश्यकता नहीं है।