Команда Mongoose find не работает, как ожидалось [дубликат]

Я просто добавил float:left в div, и он работал

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

3 ответа

Если совпадений нет, find () возвращает [], а findOne () возвращает null. Поэтому либо используйте:

Model.find( {...}, function (err, results) {
    if (err) { ... }
    if (!results.length) {
        // do stuff here
    }
}

, либо:

Model.findOne( {...}, function (err, result) {
    if (err) { ... }
    if (!result) {
        // do stuff here
    }
}
69
ответ дан weiyin 19 August 2018 в 09:14
поделиться
  • 1
    Сделал это для объяснения разницы в том, что возвращается между find() и findOne() и ответом! – Rob 1 July 2014 в 16:00

Мне пришлось использовать:

 if(!users.length) { //etc }

, чтобы заставить его работать.

5
ответ дан Julian Sutherland 19 August 2018 в 09:14
поделиться
UserModel.find({ nick: act.params }, function (err, users) {
  if (err) { console.log(err) };
  if (!users.length) { //do stuff here };
  else {
    users.forEach(function (user) {
      console.log(user.nick);
    });
  }
});

- это то, что я нашел для работы.

9
ответ дан Rob 19 August 2018 в 09:14
поделиться
  • 1
    это не сработало для меня, только если (! users.length) – Larissa Leite 1 July 2014 в 03:48
  • 2
    Вещи, должно быть, изменились с 2012 года. Я попробую это снова сегодня вечером, когда я вернусь домой, и если это не сработает, а users.length, я отредактирую ответ, чтобы включить его. – Rob 1 July 2014 в 15:59
Другие вопросы по тегам:

Похожие вопросы: