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);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


kindeditor4.x代码高亮功能默认使用的是prettify插件,prettify是Google提供的一款源代码语法高亮着色器,它提供一种简单的形式来着色HTML页面上的程序代码,实现方式如下: 首先在编辑器里面插入javascript代码: 确定后会在编辑器插入这样的代码: <pre
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代码高亮,因为SyntaxHighlighter的应用非常广泛,所以将kindeditor默认的prettify替换为SyntaxHighlighter代码高亮插件 上一篇“让kindeditor显示高亮代码”中已经
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小
JS怎么获取当前时间戳
JS如何判断对象是否为数组
JS怎么获取图片当前宽高
JS对象如何转为json格式字符串
JS怎么获取图片原始宽高
怎么在click事件中调用多个js函数
js如何往数组中添加新元素
js如何拆分字符串
JS怎么对数组内元素进行求和
JS如何判断屏幕大小
js怎么解析json数据
js如何实时获取浏览器窗口大小
原生JS实现别踩白块小游戏(五)
原生JS实现别踩白块小游戏(一)