设为首页 收藏本站
查看: 945|回复: 0

[经验分享] Node.js和MongoDB

[复制链接]

尚未签到

发表于 2015-7-7 06:12:43 | 显示全部楼层 |阅读模式
  第一次尝试翻译外国牛人的博文,希望大家喜欢。
  本文源码详见:https://github.com/njaulj/mongojs
  一点都不夸大的说,近年来node.js和mongodb的确是大放异彩,在web界刮起了一股旋风。
  node.js和mongodb不仅仅是一些Geeke的宠物,而是越来越多的大企业也在发展这两门技术,并且起到了杠杆作用,越来越多的用户正在使用这两门利器搭建了,高拓展性、高表现性、高功能性的web程序。
  好了,言归正传。
  什么是node.js?
  node.js是一个立基于Chrome JavaScript Runtime的平台,任何人都可以轻松的用它来部署、开发高速的、高扩展、大吞吐大网络程序。
    node.js的两种特性:
    1.事件驱动
    2.无阻塞的I/O
    正是这两种特性使得node.js轻量和高效,在分布式设备上能够轻松的部署实时的数据密集型的程序。
  什么是MongoDB?
  MongoDB是一个高扩展性、高表现性的开源Nosql 数据库。
  本文会从最基础node.js和MongoDB程序开始,首先请确认你已经安装了node.js和MongoDB。
  OK,让我们来核实一下你的node.js和mongodb server吧:
   $ node -v
    $ mongod 
    介绍一下MongoJS?
    MongoJS是一个才华横溢的轻量的Node.js包。你可以通过它使用一个非常类似于MongoDB‘s Javascript shell的API,从而轻松的连接到MongoDB!
  安装MongoJS
  $ npm install mongojs  
    OK,我们可以开始搭建我们的JS程序了,并且连接到我们的MongoDB 数据库:
    // app.js
  var databaseUrl ="mydb";// "username:password@example.com/mydb"
  var collections =["users","reports"]
  var db =require("mongojs").connect(databaseUrl, collections);
  
    databaseUrl 包含了数据库服务器主机和端口,数据库名字的连接信息。
    系统默认的host是localhost,端口是27017.如果你是在开发者环境中的话,databaseUrl只需要包含实际的数据实例名字计科。
    collections是一个数组的数据类型。它不是强制的如此,只是为了接近Node.js API让我们更轻松的模拟MongoDb Javascript 客户端。
    下面将通过一个例子(给定找到条件来查找所有的女性用户)来查找记录。 
    // app.js
  db.users.find({sex:"female"},function(err, users){
    if( err ||!users) console.log("No female users found");
   else users.forEach(function(femaleUser){
      console.log(femaleUser);
    });
  });
    请注意我们是如何初始化我们的查询语句的。除此之外,我们还通过一个回调函数来管理query出来的结果。
    node.js是事件驱动的,通过回调函数能够让你的程序没有阻塞,并且高表现性。
    通过运行上面的程序,我们发现 No femail users found。为什么呢?
    哈哈,不用大惊小怪,我们还没有往mydb数据库里面添加数据呢?
  下面我将通过程序往mydb数据库里面增加几行代码!
  // app.js
  db.users.save({email:"717010686@qq.com", password:"iLoveMongo", sex:"male"},function(err, saved){
    if( err ||!saved ) console.log("User not saved");
    else console.log("User saved");
  });
    
   db.users.save({email:"18251888949@163.com", password:"iLoveMongo", sex:"female"},function(err, saved){
    if( err ||!saved ) console.log("User not saved");
    else console.log("User saved");
  });
    下一个例子是如何更新用户信息:
    // app.js
  db.users.update({email:"717010686@qq.com"},{$set:{password:"iReallyLoveMongo"}},function(err, updated){
    if( err ||!updated ) console.log("User not updated");
    else console.log("User updated");
  });
  
    OK,让我们来运行app.js吧。
    $ node app.js
    OK,在这里我们就成功的完成了node.js和MongoDB的入门了。
      
    原著见:http://howtonode.org/node-js-and-mongodb-getting-started-with-mongojs
    推广 http://www.keepol.com
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-83842-1-1.html 上篇帖子: java操作MongoDB存储文件 下篇帖子: 数据库:mongodb与关系型数据库相比的优缺点zz (转)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表