JavaScript Nodejs和MongoDB的简单示例

感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧。
学习了一下Nodejs和MongoDB,写了个示例程序,读取数据库中产品的列表。 JS代码如下:

/**
 * Nodejs和MongoDB的简单示例
 *
 * @param 
 * @arrange (编程之家) 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);

相关文章

kindeditor4.x代码高亮功能默认使用的是prettify插件,prett...
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代...
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小