Kiedy findOne
zapytanie nie znajduje co najmniej jednego pasującego dokumentu, drugiego parametru wywołania zwrotnego (w tym przypadku user
) jest ustawione na null
. To nie jest błąd, więc err
jest również null
. Więc to, co widzisz, to oczekiwana odpowiedź „nie znaleziono dopasowania”.
Aktualizacja
Pamiętaj, że findOne
został przestarzały w sterowniku 2.0, ale jego zastąpienie również wykazuje to samo zachowanie:
users.find({'fb_id' : fbUserMetadata.id}).limit(1).next(err, doc) {
// doc is null if a matching document wasn't found
});