Javascript mongoose到mongo atlas类型错误:无法读取属性';长度';未定义的
我正在使用mongoose,从本地mongodb服务器(mongod)移动到mongodb atlas cloud后遇到了这个问题:TypeError:无法读取未定义的 下面是导致问题的get代码片段Javascript mongoose到mongo atlas类型错误:无法读取属性';长度';未定义的,javascript,node.js,mongodb,mongoose,mongodb-atlas,Javascript,Node.js,Mongodb,Mongoose,Mongodb Atlas,我正在使用mongoose,从本地mongodb服务器(mongod)移动到mongodb atlas cloud后遇到了这个问题:TypeError:无法读取未定义的 下面是导致问题的get代码片段 app.get('/', function(req, res) { Item.find({}, function(err, results) { //Item is a mongoose model if (results.length === 0) { item.
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中的全部代码:
错误的根本原因是您声明的模式根本不是一个真正的模式。 您需要将其声明为mongoose模式,因此
const itemsSchema = {
name: String
};
你应该做:
const itemSchema = new mongoose.Schema({
name: String
});
参考资料:多亏了ISAE,我发现问题出在与mongodb atlas数据库的连接上,我与本地主机建立了连接。在执行任何操作之前检查错误
console.log(err)
@turivishal我试过了,它也没有给出太多的信息:在processTimers(internal/timers.js:492:7)的C:\Users**\node\u modules\mongoose\lib\model.js:4888:13的C:\Users**\node\u modules\mongoose\lib\helpers\promiseOrCallback.js:16:11[…行匹配原始堆栈跟踪…]的函数实例上发出了“错误”事件可能是连接问题,您要检查您的连接。TypeError告诉您,response
未定义。@我认为这不是连接问题,如果我使用mongo命令(客户端控制台)而不是mongoose,一切都可以正常工作。问题是在我迁移到mongodb atlas后开始的,似乎interpeter无法创建项目模型。如果您在github中检查代码,并告诉我您的想法,那就太好了!乍一看,在app.js中,mongoose.connect指向的是您的本地主机,而不是任何atlas连接