Сделайте что-нибудь, если ничего не найдено с помощью .find() mongoose

Я храню некоторые данные в 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, что нормально, за исключением того, что мне нужно сделать что-то потом, если его там нет, что я не хочу делать, если он есть. :/

33
задан Rob 12 March 2012 в 01:40
поделиться