如何在Mongoose中使用参考字段参数查询文档?

时间:2020-04-21 17:40:38

标签: node.js database mongodb mongoose

我有以下架构(ProductProductCategory):

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中的人口,但真的不知道如何在此处应用。

1 个答案:

答案 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'
    }
}]);