Przechowuję niektóre dane w mongodb i uzyskuję dostęp do niego za pomocą js/nodejs i mangusta. Mogę użyć .find(), aby znaleźć coś w bazie danych, dobrze, to nie jest problem. Problem polega na tym, że jeśli czegoś nie ma, chciałbym zrobić coś innego. Obecnie to właśnie próbuję:Zrób coś, jeśli nic nie znalazłeś z .find() mongoose
UserModel.find({ nick: act.params }, function (err, users) {
if (err) { console.log(err) };
users.forEach(function (user) {
if (user.nick === null) {
console.log('null');
} else if (user.nick === undefined) {
console.log('undefined');
} else if (user.nick === '') {
console.log('empty');
} else {
console.log(user.nick);
}
});
});
Żadne z tych pożarów, gdy robię coś, co act.params nie będzie w indeksie nicka. Nie dostaję nic do konsoli w ogóle, kiedy tak się dzieje, ale dostaję user.nick, aby logować się dobrze, gdy już tam jest. Po prostu próbowałem zrobić to w odwrotnym kierunku:
UserModel.find({ nick: act.params }, function (err, users) {
if (err) { console.log('noooope') };
users.forEach(function (user) {
if (user.nick !== '') {
console.log('null');
} else {
console.log('nope');
}
});
});
, ale nadal nie rejestrowano nope
. Czego tu mi brakuje?
Jeśli go nie znajdzie, to po prostu pominie wszystko w wywoławczym wywołaniu, co jest w porządku, chyba że muszę to zrobić później, jeśli nie jest tam, czego nie chcę robić, jeśli jest. :/
Uczyniłem to za wyjaśnienie różnicy między wartościami 'find()' i 'findOne()' i dostarczaniem odpowiedzi! – Rob