1. 程式人生 > >node + mongodb 簡單實現自己的查詢接口

node + mongodb 簡單實現自己的查詢接口

query asc gif content app log serve 簡單實現 string解析

話不多說直接上代碼

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,然後通過對數據庫的操作,將數據返回。

瀏覽器輸出地址,可以看到數據。

node + mongodb 簡單實現自己的查詢接口