我试图进行简单的测试 - 使用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);