我正在尝试进行一个简单的测试 - 使用 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);