Поиск нескольких таблиц одновременно в базе данных - PullRequest
0 голосов
/ 21 сентября 2019

Я пытаюсь найти в столбце базы данных под названием «оборудование» несколько моделей таблиц, используя секвелиз.Однако я не получаю никаких данных, хотя поля заполнены.Я пытаюсь использовать «Обещание».

Однако, если я просто вызываю модель (//boilerHouse.findAll ({где: {тип_оборудования: {[Op.in]: [req.params.name]}}}). Then ((данные) => {), Я могу искать одну таблицу, но не всю.

router.get("/equipmentInfo/:name", (req, res) =>

 Promise.all([boilerHouse.findAll({ where: { equipment_area: { [Op.in]: [req.params.name] } } }), compressorHouse.findAll({ where: { equipment_area: { [Op.in]: [req.params.name] } } }), engineHouse33.findAll({ where: { equipment_area: { [Op.in]: [req.params.name] } } }), fireHouse.findAll({ where: { equipment_area: { [Op.in]: [req.params.name] } } }), hfoSeparator.findAll({ where: { equipment_area: { [Op.in]: [req.params.name] } } }), reverseOsmosis.findAll({ where: { equipment_area: { [Op.in]: [req.params.name] } } }), tankFarm33.findAll({ where: { equipment_area: { [Op.in]: [req.params.name] } } }) ])
.then((data) => {

  //boilerHouse.findAll({ where: { equipment_type: { [Op.in]: [req.params.name] } } }).then((data) => {

    res.render('gigs', {
      gigs:data,

     //data[0] is response from tableA find
     // data[1] is from tableB
      })   
    }).catch(err => console.log(err)));

1 Ответ

0 голосов
/ 21 сентября 2019

Я не являюсь разработчиком Javascript, но если у меня возникла та же проблема, я сделаю следующее:

  1. Я сделаю функцию того, что мне нужно искать и где искать в качестве параметров
  2. создание нескольких процессов для всех мест, где мне нужно искать. Это называется асинхронное программирование
  3. ожидание ответов всех процессов, а затем возврат ответов в основной процесс
  4. Затем выполните всю остальную работу

Похоже на обработку 4 запросов одновременно, не ожидая, пока другие завершат

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