Попытка вставить данные из файла в mongodb, используя node.js. Данные вставляются, но страница localhost не загружается, показывая мое конечное сообщение? - PullRequest
0 голосов
/ 23 апреля 2020

Это мой код:
Данные вставлены, но страница локального хоста не загружается. Последнее сообщение «Вставлено» также не печатается. Любая проблема, которую вы видите? Спасибо

var http = require('http');
var fs = require('fs');
var readline = require('readline');
var url = require('url');
const MongoClient = require('mongodb').MongoClient;
const url2 = "mongodb+srv://ramaty01:password@cluster0-hi4fv.mongodb.net/test? 
retryWrites = true & w = majority ";

http.createServer(function(req, res) {

  if (req.url === '/favicon.ico') {
    res.writeHead(200, {
      'Content-Type': 'image/x-icon'
    });
    res.end();
    console.log('favicon requested');
    return;
  }
  var qobj = url.parse(req.url, true).query;
  var filename = qobj.name;
  var myFile = readline.createInterface({
    input: fs.createReadStream(qobj.name)
  });

  myFile.on('line', function(line) {
    var full = "" + line;
    var split_array = full.split(",");
    MongoClient.connect(url2, {
      useUnifiedTopology: true
    }, function(err, db) {
      if (err) {
        console.log("Error: " + err);
        return;
      }

      var dbo = db.db("Company");
      var collection = dbo.collection('companies');

      var newData = {
        "company_name": split_array[0],
        "stock_ticker": split_array[1]
      };
      collection.insertOne(newData, function(err, res) {
        if (err) {
          console.log("Error: " + err);
          return;
        }
        console.log("new document inserted");
      });

      console.log("Success!");
      myFile.on("end", function() {
        console.log("end of data");
        db.close();
      });
      //db.close();
    });
  });

  res.write("Inserted");

}).listen(8080);

1 Ответ

0 голосов
/ 23 апреля 2020

Попробуйте добавить res.end () после записи в ответ. Примерно так:

// Запись в базу данных

res.write("Inserted"); res.end();

Пожалуйста, скажите мне, если это работает ...

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