话不多说直接上代码
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,然后通过对数据库的操作,将数据返回。
浏览器输出地址,可以看到数据。