"Join"-koncepten existerar inte riktigt i Mongodb eftersom vi talar om ostrukturerad databas av naturen, sedan någon gång $lookup
lades till och gav oss möjligheten att gå med till vänster, men jag känner ändå att det är "fel" att använda dessa strukturerade koncept när vi har att göra med Mongo.
Med det sagt borde följande pipeline räcka till dina behov:
db.Orders.aggregate([
{
$group: {
_id: "$product_id",
sum: {$sum : 1}
}
},
{
$lookup: {
from: "product",
local_field: "_id",
foreign_field: "_id",
as: "product"
}
},
{
$unwind: "$product"
},
{
$project: {
Product_id: "$_id",
OrderCount: "$sum",
ProductName: "$product.Name"
}
}
])