Я сталкиваюсь с проблемой в моем виртуальном заполнении, даже если я активировал свойство JSON и свойство toObject {virtuals: true} в моей схеме ....
У меня есть модель тура, подобная этой, в которые я хочу, чтобы ВСЕ отзывы
const tourSchema = new mongoose.Schema(
{
name: {
type: String,
required: [true, 'A tour must have a name'],
unique: true,
trim: true,
maxlength: [40, 'A tour name must have less or equal then 40 characters'],
minlength: [10, 'A tour name must have more or equal then 10 characters']
// validate: [validator.isAlpha, 'Tour name must only contain characters']
},
slug: String,
duration: {
type: Number,
required: [true, 'A tour must have a duration']
},
maxGroupSize: {
type: Number,
required: [true, 'A tour must have a group size']
},
difficulty: {
type: String,
required: [true, 'A tour must have a difficulty'],
enum: {
values: ['easy', 'medium', 'difficult'],
message: 'Difficulty is either: easy, medium, difficult'
}
},
ratingsAverage: {
type: Number,
default: 4.5,
min: [1, 'Rating must be above 1.0'],
max: [5, 'Rating must be below 5.0'],
set: val => Math.round(val * 10) / 10 // 4.666666, 46.6666, 47, 4.7
},
ratingsQuantity: {
type: Number,
default: 0
},
price: {
type: Number,
required: [true, 'A tour must have a price']
},
guides: [
{
type: mongoose.Schema.ObjectId,
ref: 'User'
}
]
}
// ,
// {
// toJSON: { virtuals: true },
// toObject: { virtuals: true }
// }
);
tourSchema.set('toObject', { virtuals: true });
tourSchema.set('toJSON', { virtuals: true });
// Virtual Populate
tourSchema.virtual('reviews', {
ref: 'Review',
foreignField: 'tour',
localField: '_id'
});
const Tour = mongoose.model('Tour', tourSchema);
module.exports = Tour;
, и это отзывыМодель
const reviewsSchema = new mongoose.Schema(
{
review: {
type: String,
required: [true, 'Review cannot be empty !']
},
rating: {
type: Number,
min: 1,
max: 5
},
createdAt: {
type: Date,
default: Date.now
},
tour: {
type: mongoose.Schema.ObjectId,
ref: 'Tour',
required: [true, 'A Review must belong to a tour !']
},
user: {
type: mongoose.Schema.ObjectId,
ref: 'User',
required: [true, 'A Review must belong to a User !']
}
},
{
toJSON: { virtuals: true },
toObject: { virtuals: true }
}
);
const Review = mongoose.model('Review', reviewsSchema);
PLZ, помогите мне, я смотрел все вопросы относительно этой проблемы на stackOverflow, но все они сказали добавить к JSON и toObject и все будет хорошо .... Но мой проект все еще не в порядке ...