Задать вопрос

Как правильно поправить код?

Код ниже, проверяет. имеется ли в коллекции device мобильное устройство с идентификатором aid. Если да, то он обновляет поля localTime, battery, возвращая ответ. что операция отработала корректно. Если устройство не обнаружено, оно добавляется со всеми полями, при условии, что в коллекции user присутствует email адрес req.body.email.

Device.find({ aid: req.body.aid })
        .select()
        .exec()
        .then(dev => {
          if (dev.length >= 1) {              
              console.log('Обновляем устройство.');
              const UpdateDevice = new Device({
              localTime: req.body.localTime, 
              battery: req.body.battery
            });
            Device.update({ aid: req.body.aid }, { $set: UpdateDevice })
              .exec()
              .then(result => {
                if(result){                   
                 res.status(200).json({
                   "id": dev[0]._id,
                   "result":"ok",
                  });
                 }
               })
          } else {
            console.log('Добавляем новое устройство.');
             const NewDevice = new Device({
               _id: new mongoose.Types.ObjectId(),
               localTime: req.body.localTime, 
               setupNumber: req.body.setupNumber, 
               email: req.body.email,
               aid: req.body.aid
            });   
       NewDevice.save().then(result => {
            if(result) {
            mailer(`В ваш аккаунт успешно добавлено новое устройство`);
            User.find({ 'local.email': req.body.email })
            .select()
            .exec()
            .then(user => {
              res.status(200).json({
                "id": NewDevice['_id'],
                "result":"ok",
               });   
             }); 
            } else  {   
                      res.status(500).json({
                       Error: "Ошибка добавления мобильного устройства в б.д..."   
                      }); 
            }   
            }).catch(err => {
              console.log(err);
                res.status(500).json({
                 error: err
                });
               });
              }   
            });


Код кажется довольно мусорным. Как бы Вы его оптимизировали и упростили?
  • Вопрос задан
  • 89 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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