Я создаю приложение small node/express/mongo, которое позволяет пользователям размещать фотографии кошек и комментировать их. У меня две модели: cat
и comment
. Все работало отлично, пока я не решил связать эти две модели вместе, которые затем вызвал эту ошибку:Ошибка Mongoose/node: Не удается прочитать свойство ObjectId не определено
type: mongoose.Schema.Type.ObjectId,
^
TypeError: Cannot read property 'ObjectId' of undefined
Ошибки ссылку на модель кошки:
var mongoose = require('mongoose');
var catModel = mongoose.Schema({
name: String,
image: String,
owner: String,
description: String,
comments: [
{
type: mongoose.Schema.Type.ObjectId,
ref: "Comment"
}
]
});
var Cat = mongoose.model("Cats", catModel);
module.exports = Cat;
Вот комментарий модель:
var mongoose = require('mongoose');
var commentSchema = mongoose.Schema({
username: String,
content: String,
});
Comment = mongoose.model('Comment', commentSchema);
module.exports = Comment;
Вот отрывок из app.js:
var express = require('express');
var app = express();
//more modules
var Comment = require('./models/comment.js');
var Cat = require('./models/cat.js');
//home route
app.get('/cats', function(req,res) {
Cat.find({}, function(err, cats) {
if (err) {
console.log(err);
} else {
res.render('cats', {cats: cats});
}
})
});
Я использую мангуст 4.3.7. Я исследовал эту проблему и не смог ее решить. Например, я просмотрел сообщение this и переустановил мангуст, но проблема не исчезла.
Спасибо, это сработало (: – Frosty619