FindOne в пн goose возвращает undefined - PullRequest
0 голосов
/ 10 июля 2020

Когда я собираю все данные в базе данных с помощью метода Find, в нем присутствует объект с заголовком: 'day1', но когда я выполняю операцию findOne, я получаю undefined в качестве вывода. Пожалуйста, помогите мне.

 Post.findOne({ Title: 'day1'}).then(function(err, result){console.log(result)});

Ответы [ 2 ]

1 голос
/ 10 июля 2020

Используйте вместо этого следующий запрос

Post.findOne({ Title: 'day1'},function(err,data)
{
  if(err)
    { res.send(err)}
  else if(data)
    {res.send(data)}
})
0 голосов
/ 11 июля 2020

Это потому, что вы перепутали обратный вызов с обещанием ..

Если вы будете использовать метод обратного вызова, вы можете использовать следующий код:

Post.findOne({Title: 'day1'}, (err, data) {
    if (err) {
      return res.status(404).send(err); // If there is an error stop the function and throw an error
    }
    res.status(200).send(data) // If there is no error send the data
})

Если вы собираетесь использовать обещание метод:

Post.findOne({Title: 'day1'})
.then(data => res.status(200).send(data)) // Send data if no errors
.catch(err => res.status(404).send(err)) // Throw an error if something happens
...