Теперь в схеме продукта у меня есть такая категория:
"_id" : ObjectId("5e6dfde62764a11b34ccc9a3"),
"title" : "t-shirt",
"price" : 12,
"category" : "T-shirts",
"description" : "<p>tshirts description goes here</p>\r\n",
"images" : [ ],
"__v" : 0
, и мой маршрут такой:
router.get('/category/:category', function(req, res){
var categorySlug = req.params.category;
Category.findOne({slug: categorySlug}, function(err, category){
if(err){
console.log(err);
} else {
Product.find({category: categorySlug}, function(err, products){
if(err){
console.log(err);
} else {
console.log(category)
console.log(products)
res.render('client/cat_product', {products, category, title: products.title});
}
})
}
})
})
Проблема в том, когда я утешаюсь. log (category) отображает категорию нормально, но когда я console.log (products) выдает пустой массив без продуктов
это модели схемы для категории и продукта:
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const CategorySchema = new Schema({
title: {
type: String,
required: true
},
slug: String,
products: [
{
type: Schema.Types.ObjectId,
ref: 'Product'
}
]
});
const Category = mongoose.model('Category', CategorySchema);
module.exports = Category;
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const ProductSchema = new Schema({
title: {
type: String,
required: true
},
description: {
type: String,
required: true
},
category: {
type: String,
required: true
},
price: {
type: Number,
required: true
},
images: [
{
url: String,
public_id: String
}
]
});
module.exports = mongoose.model('Product', ProductSchema);