2017-04-18 43 views
0

的特性“ID”我创造了这个项目:https://codeforgeek.com/2016/03/building-real-time-polling-app-rethinkdb-nodejs/的NodeJS - RethinkDB:​​无法读取空

现在我已经插入删除功能,通过邮差工作的删除请求时,它会删除该表从DB数据库,但控制台/应用程序崩溃,我得到这个在控制台:

enter image description here

类型错误:无法读取空

的特性“ID”当我再次启动应用程序(节点app.js)。问题/表被删除了!问题是崩溃。

这里是feeds.js,它说:错误是:

var rethinkdb = require('rethinkdb'); 
var db = require('./db'); 
var pollObject = new db(); 
module.exports = function(socket) { 
    pollObject.connectToDb(function(err,connection) { 
    if(err) { 
    return callback(true,"Error connecting to database"); 
    } 
    rethinkdb.table('poll').changes().run(connection,function(err,cursor) { 
    if(err) { 
     console.log(err); 
    } 
    cursor.each(function(err,row) { 
     console.log(JSON.stringify(row)); 
     if(Object.keys(row).length > 0) { 
     socket.broadcast.emit("changeFeed",{"id" : row.new_val.id,"polls" : row.new_val.polls}); 
     } 
    }); 
    }); 
    }); 
}; 
+0

错误发生前的最后一行说'{“new_val”:null,'.. – robertklep

+0

我可以知道你在控制台中得到了什么吗?因为你在那里登录 – TheLawliet94

回答

0

这可能是因为您的

socket.broadcast.emit("changeFeed",{"id" : row.new_val.id,"polls" : row.new_val.polls}); 

正试图从一个对象,不再有获取ID(即删除)。

尝试改变行说别的。