JavaScript Nodejs和MongoDB的简单示例

前端之家收集整理的这篇文章主要介绍了JavaScript Nodejs和MongoDB的简单示例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧。
学习了一下Nodejs和MongoDB,写了个示例程序,读取数据库中产品的列表。 JS代码如下:

/**
 * Nodejs和MongoDB的简单示例
 *
 * @param 
 * @arrange (512.笔记) jb51.cc
 **/
var http = require("http"),mongo = require("mongodb"),events = require("events");
 
http.createServer(function(req,res) {
 
  var products_emitter = new events.EventEmitter(),// 创建到northwind数据库链接。相当于use northwind
      db = new mongo.Db("northwind",new mongo.Server('localhost',27017,{}),{});
   
  var listener = function(products) {
      var html = [],len = products.length;
      html.push('<!DOCTYPE html>');
      html.push('<html>');
      html.push('<head>');
      html.push('<title>Nodejs</title>');
      html.push('</head>');
      html.push('<body>');   
      if(len > 0) {
        html.push('<ul>');          
        for(var i = 0; i < len; i++) {
          html.push('<li>' + products[i].name + '</li>');
        }
        html.push('</ul>');
      }
      html.push('</body>');
      html.push('</html>');
       
      res.writeHead(200,"Content-Type: text/html");
      res.write(html.join(''));
      res.end();
       
      clearTimeout(timeout);
  }
  products_emitter.on('products',listener);
   
  var timeout = setTimeout(function() {
      products_emitter.emit('products',[]);
      products_emitter.removeListener('products',listener);
  },10000);
           
  db.open(function() {
      // 打开名为products的表
    db.collection("products",function(err,collection) {
        // select * from products 相当于db.products.find()
      collection.find(function(err,cursor) {
        cursor.toArray(function(err,items) {
          products_emitter.emit('products',items);
        });
      });
    });
  });
   
}).listen(8000);
 
console.log("Started");

猜你在找的JavaScript相关文章