Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript mongoose到mongo atlas类型错误:无法读取属性';长度';未定义的_Javascript_Node.js_Mongodb_Mongoose_Mongodb Atlas - Fatal编程技术网

Javascript mongoose到mongo atlas类型错误:无法读取属性';长度';未定义的

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.

我正在使用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.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连接