Как запросить документы с параметрами ссылочных полей в пн goose? - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть следующие схемы (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, которые имеют определенный Product.productCategory.name = ?

Я читал о населении в mongodb, но не знаю, как его применить.

1 Ответ

0 голосов
/ 22 апреля 2020

Вы можете использовать функцию агрегирования '$ lookup'

db.productCategory.aggregate([{
    $match: {
        name: "{category_name}"
    }
}, {
    $lookup: {
        from: 'product',
        localField: '_id', // ProductCategory._id
        foreignField: 'type', // Product.product_category_id
        as: 'products'
    }
}]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...