Node.js和MongoDB - MongoJS入門


  第一次嘗試翻譯外國牛人的博文,希望大家喜歡。

  本文源碼詳見: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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM