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

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

  • 相关阅读:
    邻接表怎么写
    hiho一下 第二十五周(SPFA)
    hdu 1426 Sudoku Killer(DFS)
    hdu5147 (sequence 2) 树状数组
    hdu1233 prim
    输入输出外挂
    RMQ-ST求区间最值
    最近公共祖先(简单版)
    【Java】【20】后台发送GET/POST方法
    【实战问题】【11】导入Maven项目后报错,Project configuration is not up-to-date with pom.xml. Run project configuration update
  • 原文地址:https://www.cnblogs.com/jjucap/p/8434505.html
Copyright © 2011-2022 走看看