Возникли проблемы при копировании документа в другую коллекцию Мангуста - PullRequest
0 голосов
/ 03 января 2019

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

public updateConfigWithType(req: Request, res: Response) {
  configs.findOne({'companyInfo.uniquecompanyid': req.params.id}, function(err, config){
      if (err) {
        return res.send(err);
      }
      let swap = new (oldConfigs.model('oldConfigs'))(config)
      swap.save()

      config.parserConfig = req.body;

      config.save(err => {
        if (err) return res.send(err);
          res.json({ data: config });
      });
  });
}


The error message is the following:
 (node:65757) UnhandledPromiseRejectionWarning: DocumentNotFoundError: No document found for query "{ _id: {} }"
 (node:65757) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
10:34:34 AM web.1 |  (node:65757) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Не уверен, как я это исправлю. Также я получаю две разные ошибки? Что мне здесь не хватает, пожалуйста, объясните.

1 Ответ

0 голосов
/ 03 января 2019

Вот 2 ошибки, связанные.Я думаю, что ошибка происходит от swap.save(), потому что в mongoose, если в качестве параметра не передается обратный вызов, метод возвращает Promise .

Вы должны проверить объект config, который вы передаетеlet swap = new (oldConfigs.model('oldConfigs'))(config) потому что это вызывает ошибку.

Второе сообщение, потому что вы не улавливаете ошибку обещания.Вы можете написать что-то вроде этого:

swap.save().catch(console.error)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...