zoukankan      html  css  js  c++  java
  • node + mongodb 简单实现自己的查询接口

    话不多说直接上代码

    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,然后通过对数据库的操作,将数据返回。

    浏览器输出地址,可以看到数据。

  • 相关阅读:
    [CF1299B] Aerodynamic
    [CF1338B] Edge Weight Assignment
    [CF689C] Mike and Chocolate Thieves
    [CF729C] Road to Cinema
    [CF735C] Tennis Championship
    [CF766C] Mahmoud and a Message
    [CF797C] Minimal string
    [CF798C] Mike and gcd problem
    [CF818D] Multicolored Cars
    《剑指Offer》面试题55:字符流中第一个不重复的字符
  • 原文地址:https://www.cnblogs.com/jjucap/p/8434505.html
Copyright © 2011-2022 走看看