TypeError: Cannot call method 'slice' of null,怎么解决呢?
发布于 11 年前 作者 wangxuq 12674 次浏览 最后一次编辑是 8 年前

E:\nodejs\lianxi\blog\node_modules\mongodb\lib\mongodb\connection\base.js:245 throw message; ^ TypeError: Cannot call method ‘slice’ of null at convert_tree_to_html (E:\nodejs\lianxi\blog\node_modules\markdown\lib\markdown.js:1556:21) at Object.toHTMLTree (E:\nodejs\lianxi\blog\node_modules\markdown\lib\markdown.js:112:14) at Object.toHTML (E:\nodejs\lianxi\blog\node_modules\markdown\lib\markdown.js:82:22) at E:\nodejs\lianxi\blog\models\post.js:74:26 at Array.forEach (native) at E:\nodejs\lianxi\blog\models\post.js:73:10 at E:\nodejs\lianxi\blog\node_modules\mongodb\lib\mongodb\cursor.js:163:16 at commandHandler (E:\nodejs\lianxi\blog\node_modules\mongodb\lib\mongodb\cursor.js:709:16) at E:\nodejs\lianxi\blog\node_modules\mongodb\lib\mongodb\db.js:1846:9 at Server.Base._callHandler (E:\nodejs\lianxi\blog\node_modules\mongodb\lib\mongodb\connection\base.j s:445:41) 下边是我的代码: collection.find(query).sort({time:-1}).toArray(function(err,docs){ mongodb.close(); if(err){ return callback(err); } 73 docs.forEach(function(doc){ 74 doc.post = markdown.toHTML(doc.post); }); callback(null,docs);//成功,已数组返回查询结果

4 回复

应该docs是null,查询失败,应该是,js出这种错误一般就是因为调用slice的对象为null

但是在查询的时候没有问题啊,然后在上传照片的时候就出问题了。。。

查一下数据库,doc.post这个可能是null的 我遇到这样的问题就是这样的

docs.forEach(function(doc){ if(doc.post){ doc.post = markdown.toHTML(doc.post); } });

74行执行之前加个判断即可. 报错是提示doc.post为null导致后续出错

回到顶部