我有以下架构(Product
,ProductCategory
):
const productSchema = new mongoose.Schema({
name: {
type: String,
required: true
},
productCategory: {
type: mongoose.Schema.Types.ObjectId,
ref: 'ProductCategory'
}
})
const productCategorySchema = new mongoose.Schema({
name: {
type: String,
required: true
}
})
我要做的是查询所有具有特定Product
的{{1}}个文档
我了解了mongodb中的人口,但真的不知道如何在此处应用。
答案 0 :(得分:0)
您可以使用聚合函数'$lookup'
db.productCategory.aggregate([{
$match: {
name: "{category_name}"
}
}, {
$lookup: {
from: 'product',
localField: '_id', // ProductCategory._id
foreignField: 'type', // Product.product_category_id
as: 'products'
}
}]);