NodeJS之------MongoDB模組(額外篇)

來源:互聯網
上載者:User

NodeJS之------MongoDB模組(額外篇)
一,開篇分析 這篇屬於擴充知識篇,因為在下面的文章中會用到資料庫操作,所以今天就來說說它(Mongodb模組)。 (1),簡介  MongoDB是一個基於分布式檔案儲存體的資料庫。由C++語言編寫。旨在為WEB應用提供可擴充的高效能資料儲存解決方案。  MongoDB是一個高效能,開源,無模式的文檔型資料庫,是當前NoSql資料庫中比較熱門的一種。  MongoDB是一個介於關聯式資料庫和非關聯式資料庫之間的產品,是非關聯式資料庫當中功能最豐富,最像關聯式資料庫的。他支援的資料結構非常鬆散,是類似json的bjson格式,因此可以儲存比較複雜的資料類型。Mongo最大的特點是他支援的查詢語言非常強大,其文法有點類似於物件導向的查詢語言,幾乎可以實作類別似關聯式資料庫單表查詢的絕大部分功能,而且還支援對資料建立索引。 傳統的關聯式資料庫一般由資料庫(database)、表(table)、記錄(record)三個層次概念組成,MongoDB是由資料庫(database)、集合(collection)、文檔對象(document)三個層次組成。 MongoDB對於關係型資料庫裡的表,但是集合中沒有列、行和關係概念,這體現了模式自由的特點。   (2),特點  它的特點是高效能、易部署、易使用,儲存資料非常方便。主要功能特性有:  1)面向集合儲存,易儲存物件類型的資料。  2)模式自由。  3)支援動態查詢。  4)支援完全索引,包含內部對象。  5)支援查詢。  6)支援複製和故障恢複。  7)使用高效的位元據儲存,包括大型物件(如視頻等)。  8)自動處理片段,以支援雲端運算層次的擴充性。  9)支援RUBY,PYTHON,JAVA,C++,PHP,C#等多種語言。  10)檔案儲存體格式為BSON(一種JSON的擴充)。  11)可通過網路訪問。   (3),安裝及使用   1,下載並解壓 "mongodb" 到指定目錄,如下:          2,其中有兩個最重要的檔案:”Mongod.exe“和”Mongo.exe“ 。      Mongod.exe ------ 用來串連到mongo資料庫伺服器的,即伺服器端。      Mongo.exe ------ 用來啟動MongoDB shell的,即用戶端。   二,分步驟操作   (1),建立一個目錄,例如:”>mongod -dbpath data/db“ 。   (2),開啟瀏覽器輸入:“http://127.0.0.1:27017/”,見到如下字樣:   "You are trying to access MongoDB on the native driver port. For http diagnostic access, add 1000 to the port number",表示已成功。   到此,MongoDB資料庫服務已經成功啟動了。   (3),建立資料庫------進入CMD,鍵入命令“mongo.exe” 出現如下介面:        (4),在shell 命令視窗鍵入如下命令:" use bb" (use 命令用來切換當前資料庫,如果該資料庫不存在,則會先建立一個)。   (5),在shell 命令視窗鍵入如下命令:“ db.users.insert({"name":"bigbear","password":"12345678"})”,   (這條命令是向users 集合中插入一條資料,如果集合users不存在,則會先建立一個,然後再插入資料,參數以JSON格式傳入)。   (6),在shell 命令視窗鍵入如下命令:“db.users.find()” (顯示users集合下的所有資料文檔),如:         注意圖中的“_id”,系統給每條記錄自動分配了一個惟一主鍵 _id 。   好了!基本的功能夠用了,後面如果需要額外的操作逐步補充,由於篇幅有限主要說的是NodeJS操作Mongodb,所以暫時告一段落。     三,進入主題,執行個體分析   (1),npm install mongodb (下載後放入制定目錄下)。   (2),之前我們已經建立好了資料庫和集合("bb","users")        1 var mongodb = require("mongodb") ; 2 var server = new mongodb.Server("localhost",27017,{ 3     auto_reconnect : true 4 }) ; 5 var conn = new mongodb.Db("bb",server,{ 6     safe : true 7 }) ; 8 conn.open(function(error,db){ 9     if(error) throw error ;10     db.collection("users",{11         safe : true12     },function(err,collection){13         if(err) throw err ;14         collection.find().toArray(function(e,docs){15             if(e) throw e ;16             console.log(docs) ;17         }) ; 18     }) ;19 }) ; 運行結果如下:    1 [ 2     {3         _id: 54b3ce920dc20a3ba9607f4         name: 'bigbear',5         password: '12345678'6     }7 ]  四,總結一下   (1),熟練使用MongoDB資料庫。   (2),理解與關係型資料庫之間的差異化。   (3),通過上述的例子,掌握NodeJS如何操作MongoDB。   (4),強調一句話:如何設計“NoSQL”類型的資料庫,思想很重要。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.