0
myWord = ''

db.collection('testCollection', function (err, collection) {
    collection.find({room:"room1"}).toArray(function(err, results) {
        if(typeof results[0].word === "undefined")
            myWord = '';
        else
            myWord = results[0].word;
    });
});

我正在使用 socket.io、express 和 mongodb 本机驱动程序。

执行此查询时,数据库 100% 为空。每次它击中这条线:

if(typeof results[0].word === "undefined")

我明白了

TypeError: Cannot read property 'word' of undefined

我是 mongodb 和 nodejs 的新手,所以我什至可能会错误地构建我的代码。如果您需要查看更多代码,当然请告诉我。

4

1 回答 1

2

尝试if(results[0] === undefined)if(typeof results[0] == "undefined")

您正在尝试采用取消引用后所获得的类型,当它是对空值的取消引用首先破坏了它。

于 2012-07-10T05:54:43.613 回答