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;
});
});
Korzystam z socket.io, express i macierzystego sterownika mongodb.
Baza danych jest w 100% pusta po wykonaniu tego zapytania. Za każdym razem, gdy trafi na linię:
if(typeof results[0].word === "undefined")
dostaję
TypeError: Cannot read property "word" of undefined
Jestem nowy w mongodb i nodejs, więc mógłbym nawet źle sformułować mój kod. Jeśli potrzebujesz więcej kodu, daj mi znać.
Odpowiedzi:
2 dla odpowiedzi № 1Próbować if(results[0] === undefined)
lub if(typeof results[0] == "undefined")
Próbujesz podjąć typ tego, co otrzymujesz po zakończeniu dereferencji, kiedy to wyłuskujesz zerową wartość, która zrywa ją w pierwszej kolejności.