话不多说直接上代码
const http = require('http');
const Db = require('mongodb').Db;
const Connection = require('mongodb').Connection;
const Server = require('mongodb').Server;
const query2 = require('querystring');
var url=require('url');
let settings = {
cookieSecret : 'shop',
db : 'local',
host : 'localhost',
port : 27017
}
let shopping = new Db(settings.db, new Server(settings.host,settings.port),
{safe : true});
var server = http.createServer(function(req,res){
var arg=url.parse(req.url).query ;
var nameValue=query2.parse(arg)['funNo']
//var cc = query.parse(req);
// var data = "";
// res.on('data', function (chunk) {
// data += chunk;
// })
// .on("end", function () {
// //对data转码
// });
if(nameValue == '001'){
let param = {
pdtId : 1,
}
getOne(param.pdtId,function(err,post){
var data = JSON.stringify(post);
res.writeHead(200, {
'Content-type' : 'application/json',
});
res.setHeader({
'Access-Control-Allow-Origin': '*'
});
res.write(data,'UTF-8');// 向请求客户端发送相应内容,data是buffer或字符串,encoding为编码
res.end(); //结束响应,告知用户所有发送已经完成,当所有要返回的内容发送完
})
}
})
function getOne(pdtId,callback){
shopping.open(function(err,db){
if(err){
return callback(err);
}
//打开数据库之后就去找数据了
db.collection('chen',function(err,collection){
if(err){
shopping.close();
return callback(err);
}
//根据条件查询
collection.findOne({
"pdtId" : pdtId,
},function(err,data){
shopping.close();
if(err){
return callback(err);
}
//将查到的文档解析
//doc.post = markdown.toHTML(doc.post);
var cc = [];
cc.push(data)
callback(null,cc)//返回查询的文章
})
})
})
}
server.listen(8081);
如以上的代码,通过对数据库设置,连上本地数据库。然后通过querystring解析查询条件,这里的查询条件我写死了 ,pdtId = 001,然后通过对数据库的操作,将数据返回。
浏览器输出地址,可以看到数据。