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

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

  • 相关阅读:
    asp.net页面常见问题
    售后系统用户需求
    asp.net缓存
    xml
    写日志
    事务问题
    Hive之数据类型Array的使用
    mysql:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    Hive之数据类型struct的使用
    从数据仓库系统对比看Hive发展前景
  • 原文地址:https://www.cnblogs.com/jjucap/p/8434505.html
Copyright © 2020-2023  润新知