0

我正在尝试进行一个简单的测试 - 使用 Node.js 将一些数据从 SQL Server 移动到 MongoDB 不确定这段代码有什么问题,但我有三个问题。

1)“为什么这行打印不止一次?” 打印 2 次到控制台
编辑 - 这是因为来自浏览器的 favicon 请求(已修复)
2)没有数据插入到 MongoDB
3)服务器在一个请求结束时退出 - 没有错误

var http = require('http');
var sql = require('node-sqlserver');
var _ = require('underscore')._;

var connstr = "Driver={SQL Server Native Client 11.0};Server=ProdSqlServer;" + 
              "Database=CDDB;Trusted_Connection={Yes}";

http.createServer(function(req, res) {

    res.writeHead(200, { 'Content-Type': 'application/json' });
    var mongoUrl = "mongodb://localhost:27017/test";
    var stmt = "select top 10000 PersonID as Id, * from People";

    require('mongodb').connect(mongoUrl, function(err, conn){
        sql.query(connstr, stmt, function(err, results) {
            if(err) console.log(err);
            var jsonResults = JSON.stringify(results);
            res.write(jsonResults, 'utf8');

            conn.collection('tracks', function(err, collection) {
                if(err) console.log(err);
                _.each(results, function(x) {
                    collection.insert(x);
                });
            });
            console.log('why does this print more than once?');
            res.end();
        });
    });
}).listen(process.env.PORT || 8080);
4

0 回答 0