Я храню некоторые данные в mongodb и получаю к ним доступ с помощью js/nodejs и mongoose. Я могу использовать .find(), чтобы найти что-то в базе данных, это не проблема. Проблема в том, что если чего-то нет, я хотел бы заняться чем-то другим. В настоящее время я пытаюсь сделать следующее:
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);
}
});
});
Ни один из них не срабатывает, когда я делаю что-то, где act.params не будет в индексе ника. Я вообще ничего не получаю для консоли, когда это происходит, но я получаю user.nick для входа в журнал, когда он действительно там. Я просто попытался сделать это в обратном порядке, например:
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');
}
});
});
но это все равно не записало nope
. Что мне здесь не хватает?
Если он не находит его, он просто пропускает все в вызове find, что нормально, за исключением того, что мне нужно сделать что-то потом, если его там нет, что я не хочу делать, если он есть. :/