node + mongodb 簡單實現自己的查詢介面

來源:互聯網
上載者:User

標籤:轉碼   使用者   客戶   資料   代碼   pos   post   down   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 簡單實現自己的查詢介面

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.