Как я могу добавить mysql Query на node.js контроллер - PullRequest
0 голосов
/ 17 января 2020

У меня есть приложение node.js, и оно хорошо работает, если я использую sequelize ORM в качестве моего запроса для получения данных из базы данных mysql, однако у меня есть запрос mysql, который мне нужно заменить текущим, на который не может быть преобразован в Sequelize ORM

Это файл контроллера с текущим запросом orm

// Include models
const db = require('../models')
const Shop = db.Shop

module.exports = {
  getHome: async (req, res) => {
    try {
      // retrieve all expense from record collection
      const records = await Shop.findAll({
        order: [['id', 'DESC']]

      })




      // check if any record is found
      const isEmptyRecord = records.length ? false : true
      // find total month


      res.render('index', { indexCSS: true, records,isEmptyRecord })
    } catch (err) {
      return console.log(err)
    }
  }
}

, а это запрос mysql

"SELECT shops.*, (6371000 * acos(cos(radians(poi.lat )) \
  * cos(radians(shops.lat)) * cos(radians(shops.lon) - radians(poi.lon )) \
  + sin(radians(poi.lat )) * sin(radians(shops.lat)))) AS distance FROM shops \
  CROSS JOIN poi WHERE   poi.name like '%"+req.query.poi+"%' AND (6371000 \
    * acos(cos(radians(poi.lat)) * cos(radians(shops.lat)) \
    * cos(radians(shops.lon) - radians(poi.lon )) + sin(radians(poi.lat)) \
    * sin(radians(shops.lat)))) < "+req.query.radius+" AND shops.type like \
    '%"+shoptype+"%'AND shops.name like '%"+shopname+"%'";

Как можно Я добавляю этот запрос в указанный выше файл, чтобы его можно было выполнить, и вижу результат на веб-странице.

Заранее спасибо

...