通过Mongo Atlas typeerror:无法读取未定义的属性“长度”
2021-04-29
2483
我正在使用 mongoose,在从本地 mongodb 服务器(mongod)移动到 mongodb atlas cloud 后遇到了这个问题:TypeError:无法读取未定义的属性“length”
这是导致问题的 get 代码片段
app.get('/', function(req, res) {
Item.find({}, function(err, results) {
//Item is a mongoose model
if (results.length === 0) {
item.save();
res.redirect("/");
} else {
res.render('toDoLists', { Title: title, addedItems: results });
//using ejs
}
});
});
这是 github 中的全部代码:
https://github.com/oubaydos/toDoList-webDevLearningPath/blob/main/app.js
2个回答
导致错误的根本原因是您声明的架构实际上根本不是架构。 您需要将其声明为 mongoose 架构,因此,您应该这样做:
const itemsSchema = {
name: String
};
您应该这样做:
const itemSchema = new mongoose.Schema({
name: String
});
参考: mongoose.js 文档
ISAE
2021-04-29
感谢 ISAE,我发现问题出在与 mongodb atlas 数据库的连接上,而我连接的是本地主机。
oubaydos
2021-04-29