从redditjson中提取信息并使用node.js将其放入mysql数据库

bpzcxfmw  于 2021-06-18  发布在  Mysql
关注(0)|答案(0)|浏览(217)

我试图从/r/askreddit中提取json数据,并将其放入名为“post”的mysql数据库表中。表中的列是诸如文章标题、文章url和海报用户名等信息。
在这一点上,我完全不知道如何将原始json中的数据从原始json带到我的表中,因为我认为它现在应该可以工作了。
这是我的.js服务器文件,任何帮助都非常感谢。谢谢。

/*jshint esversion: 6 */

let mysql = require('mysql2');
let dbInfo = require('./dbInfo.js');
let express = require('express');
let bodyParser = require("body-parser");

let app = express();

// Add static route for non-Node.js pages
app.use(express.static('public'));

// Configure body parser for handling post operations
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());

app.post('/reddit-import', function (req, res) {
   console.log("Route for the /r/askreddit POST");
  let sql = for (let i=0; i < x.data.children.length; i++) {
    "insert into post (post_title, post_date, post_url, user_name) values (?,?,?,?)"
  };
  let data = [req.body.post_title, req.body.post_date, req.body.post_url, req.body.user_name];

   connection.query(sql,
      data,
      function (errQuery, result) {
         if (errQuery) {
            console.log(errQuery);
            res.json({status: "Error", err: errQuery});
         } else {
            console.log("Insert ID: ", result.insertId);
            res.json({status: result.insertId, err: ""});
         }
      }
   );
});

// Create database connection
console.log('Creating connection...\n');
let connection = mysql.createConnection({
   host: dbInfo.dbHost,
   port: dbInfo.dbPort,
   user: dbInfo.dbUser,
   password: dbInfo.dbPassword,
   database: dbInfo.dbDatabase
});
// Connect to database
connection.connect(function(err) {
   console.log('Connecting to database...\n');

   // Handle any errors
   if (err) {
      console.log(err);
      console.log('Exiting application...\n');
   } else {
      console.log('Connected to database...\n');
      // Listen for connections
      // Note: Will terminate with an error if database connection
      // is closed
      const ip = 'localhost';
      const port = 8080;
      app.listen(port, ip, function () {
         try {
            console.log('Alumni server app listening on port ' + port);
         } catch (err) {
            console.log(err);
         }
      });
   }
});

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题