Я пытаюсь определить массив 'comments' с типом Comment (другая схема).
const beerSchema = new Schema({
name:String,
country:String,
color:String,
alcoholPercent:Number,
upvotes:{type:Number, default:0},
comments:[{type:Schema.Types.ObjectId, ref:'comments'
}]
});
объект коллекции
[
{
"upvotes": 0,
"comments": [],
"test": [],
"_id": "5b0092af2cdf6b30b80dd386",
"name": "newName",
"country": "Belgium",
"color": "blond",
"alcoholPercent": 4.5,
"__v": 0
}
]
мой класс схемы комментариев
const mongoose = require('mongoose');
const {Schema } = mongoose;
const commentSchema = new Schema({
_beer:{type:Schema.Types.ObjectId, ref:'beers'},
postedTime:{type:Date, default:Date.now()},
comment:String,
_user:{type:Schema.Types.ObjectId, ref:'User'}
});
mongoose.model('comments', commentSchema);
запрос для заполнения:
const newComment = new Comment({
_beer:req.params.id,
comment:'comm1',
// _user:req.user.id
});
newComment.save(function(err){
if(err) return handleError(err);
console.log('new comment saved');
});
Beer.findOne({name:'newName'})
.populate('comments')
.exec(function(err, comment){
if(err) return handleError(err);
console.log('new Comment is %s', comment._beer);
});
мой console.log выдает мне ошибку, когда я пытаюсь записать комментарий. Не могу. Кто-нибудь может указать, что я делаю неправильно? Спасибо!