学习节点和mysql查询问题

时间:2020-02-10 11:36:59

标签: mysql node.js

我正在学习节点,并且在运行mysql查询时遇到问题。我确定我已经连接到mysql db(因为当我从连接到DB的同一模块运行查询时,我能够将行打印到控制台日志中)。但是,当我需要将数据库连接到另一个文件并在查询中使用时,出现500错误。我在堆栈溢出上花了最后几个小时,仍然卡住了。它绝对不是功能,就好像我只是返回文本一样,可以正常工作,因此绝对可以与我利用db连接的方式有关。数据库连接文件如下:

class ReviewSummaryItemPipeline(object):
    @classmethod
    def from_crawler(cls, crawler):
        pipeline = cls()
        crawler.signals.connect(pipeline.spider_opened, signals.spider_opened)
        crawler.signals.connect(pipeline.spider_closed, signals.spider_closed)
        return pipeline

    def spider_opened(self, spider):
        # change the output file name based on argument
        self.file = open(f'reviews_summary_{spider.brand_name}.csv', 'w+b')
        self.exporter = CsvItemExporter(self.file)
        self.exporter.start_exporting()

    def spider_closed(self, spider):
        self.exporter.finish_exporting()
        self.file.close()

    def process_item(self, item, spider):
        self.exporter.export_item(item)
        return item

我们在下面的查询中使用数据库连接的模块:

// initialize database connection
const mysql = require('mysql')
var db;

function connectDatabase() {
    if (!db) {
        db = mysql.createConnection({
          host: process.env.DB_HOST,
          user: process.env.DB_USER,
          password: process.env.DB_PASS,
          database: process.env.DB_DATABASE
        })

        db.connect(function(err){
            if(!err) {
                console.log('Database is connected!')
            } else {
                console.log('Error connecting database!')
            }
        })
    }
    return db
}

module.exports = connectDatabase()

0 个答案:

没有答案