最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

NodeJS學(xué)習(xí)筆記之MongoDB模塊

 更新時間:2015年01月13日 11:50:57   投稿:hebedich  
nodejs是個強(qiáng)大的平臺,有基本功能,而且可以掛很多模塊。我們現(xiàn)在需要和mongodb連接的驅(qū)動,就類似比如mysql的java驅(qū)動一樣。nodejs有好幾個mongodb的第三方驅(qū)動。和jdbc不一樣,沒有標(biāo)準(zhǔn)。所以需要到驅(qū)動的網(wǎng)站上去了解學(xué)習(xí)怎么使用它訪問mongodb。

一,開篇分析

這篇屬于擴(kuò)展知識篇,因?yàn)樵谙旅娴奈恼轮袝玫綌?shù)據(jù)庫操作,所以今天就來說說它(Mongodb模塊)。

(1),簡介

 MongoDB是一個基于分布式文件存儲的數(shù)據(jù)庫。由C++語言編寫。旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲解決方案。

 MongoDB是一個高性能,開源,無模式的文檔型數(shù)據(jù)庫,是當(dāng)前NoSql數(shù)據(jù)庫中比較熱門的一種。

 MongoDB是一個介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫的。他支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似json的bjson格式,因此可以存儲比較復(fù)雜的數(shù)據(jù)類型。Mongo最大的特點(diǎn)是他支持的查詢語言非常強(qiáng)大,其語法有點(diǎn)類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實(shí)現(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢的絕大部分功能,而且還支持對數(shù)據(jù)建立索引。

傳統(tǒng)的關(guān)系數(shù)據(jù)庫一般由數(shù)據(jù)庫(database)、表(table)、記錄(record)三個層次概念組成,MongoDB是由數(shù)據(jù)庫(database)、集合(collection)、文檔對象(document)三個層次組成。

MongoDB對于關(guān)系型數(shù)據(jù)庫里的表,但是集合中沒有列、行和關(guān)系概念,這體現(xiàn)了模式自由的特點(diǎn)。

(2),特點(diǎn)

 它的特點(diǎn)是高性能、易部署、易使用,存儲數(shù)據(jù)非常方便。主要功能特性有:

 1)面向集合存儲,易存儲對象類型的數(shù)據(jù)。
 2)模式自由。
 3)支持動態(tài)查詢。
 4)支持完全索引,包含內(nèi)部對象。
 5)支持查詢。
 6)支持復(fù)制和故障恢復(fù)。
 7)使用高效的二進(jìn)制數(shù)據(jù)存儲,包括大型對象(如視頻等)。
 8)自動處理碎片,以支持云計(jì)算層次的擴(kuò)展性。
 9)支持RUBY,PYTHON,JAVA,C++,PHP,C#等多種語言。
 10)文件存儲格式為BSON(一種JSON的擴(kuò)展)。
 11)可通過網(wǎng)絡(luò)訪問。

(3),安裝及使用

  1,下載并解壓 "mongodb" 到指定目錄,如下:

  2,其中有兩個最重要的文件:”Mongod.exe“和”Mongo.exe“ 。

   Mongod.exe ------ 用來連接到mongo數(shù)據(jù)庫服務(wù)器的,即服務(wù)器端。
   Mongo.exe ------ 用來啟動MongoDB shell的,即客戶端。

二,分步驟操作

 ?。?),新建一個目錄,例如:”>mongod -dbpath data/db“ 。

 ?。?),打開瀏覽器輸入:“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數(shù)據(jù)庫服務(wù)已經(jīng)成功啟動了。

 ?。?),創(chuàng)建數(shù)據(jù)庫------進(jìn)入CMD,鍵入命令“mongo.exe” 出現(xiàn)如下界面:

 ?。?),在shell 命令窗口鍵入如下命令:" use bb" (use 命令用來切換當(dāng)前數(shù)據(jù)庫,如果該數(shù)據(jù)庫不存在,則會先新建一個)。

 ?。?),在shell 命令窗口鍵入如下命令:“ db.users.insert({"name":"bigbear","password":"12345678"})”,

  (這條命令是向users 集合中插入一條數(shù)據(jù),如果集合users不存在,則會先新建一個,然后再插入數(shù)據(jù),參數(shù)以JSON格式傳入)。

 ?。?),在shell 命令窗口鍵入如下命令:“db.users.find()” (顯示users集合下的所有數(shù)據(jù)文檔),如下圖:

   注意圖中的“_id”,系統(tǒng)給每條記錄自動分配了一個惟一主鍵 _id 。

  好了!基本的功能夠用了,后面如果需要額外的操作逐步補(bǔ)充,由于篇幅有限主要說的是NodeJS操作Mongodb,所以暫時告一段落。

 三,進(jìn)入主題,實(shí)例分析

  (1),npm install mongodb (下載后放入制定目錄下)。

 ?。?),之前我們已經(jīng)建立好了數(shù)據(jù)庫和集合("bb","users")

復(fù)制代碼 代碼如下:

 var mongodb = require("mongodb") ;
 var server = new mongodb.Server("localhost",27017,{
     auto_reconnect : true
 }) ;
 var conn = new mongodb.Db("bb",server,{
     safe : true
 }) ;
 conn.open(function(error,db){
     if(error) throw error ;
     db.collection("users",{
         safe : true
     },function(err,collection){
         if(err) throw err ;
         collection.find().toArray(function(e,docs){
             if(e) throw e ;
             console.log(docs) ;
         }) ;
     }) ;
 }) ;

運(yùn)行結(jié)果如下:

復(fù)制代碼 代碼如下:

 [
     {
         _id: 54b3ce920dc20a3ba9607f
         name: 'bigbear',
         password: '12345678'
     }
 ]

四,總結(jié)一下

(1),熟練使用MongoDB數(shù)據(jù)庫。
(2),理解與關(guān)系型數(shù)據(jù)庫之間的差異化。
(3),通過上述的例子,掌握NodeJS如何操作MongoDB。
(4),強(qiáng)調(diào)一句話:如何設(shè)計(jì)“NoSQL”類型的數(shù)據(jù)庫,思想很重要。

相關(guān)文章

  • windows使用nvm對node進(jìn)行版本管理切換的完整步驟

    windows使用nvm對node進(jìn)行版本管理切換的完整步驟

    這篇文章主要介紹了windows使用nvm對node進(jìn)行版本管理切換的完整步驟,在使用之前各位務(wù)必卸載掉自己安裝過的nvm或者node版本包括環(huán)境變量之類的,要保證自己的電腦完全沒有node環(huán)境,需要的朋友可以參考下
    2024-03-03
  • NodeJs的fs讀寫刪除移動監(jiān)聽

    NodeJs的fs讀寫刪除移動監(jiān)聽

    這篇文章主要介紹了NodeJs的fs讀寫刪除移動監(jiān)聽,非常不錯,具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-04-04
  • node.js處理前端提交的GET請求

    node.js處理前端提交的GET請求

    這篇文章主要為大家詳細(xì)介紹了node.js處理前端提交的GET請求,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • Node.js和Vue的安裝與配置超詳細(xì)步驟(推薦)

    Node.js和Vue的安裝與配置超詳細(xì)步驟(推薦)

    使用VUE前端框架開發(fā),需要安裝Node.js和Vue.js,這篇文章主要給大家介紹了關(guān)于Node.js和Vue的安裝與配置超詳細(xì)步驟的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • Egret引擎開發(fā)指南之編譯項(xiàng)目

    Egret引擎開發(fā)指南之編譯項(xiàng)目

    Egret框架是一個基于MIT開源協(xié)議許可的永久免費(fèi)的項(xiàng)目!你可以在項(xiàng)目中隨意使用且修改它,并且擁有100%的控制權(quán)。你可以從Egret的Github網(wǎng)站獲取它的源代碼,從而了解和學(xué)習(xí)它的核心細(xì)節(jié)。Egret具有完善的文檔,并且易于上手學(xué)習(xí),可以讓你更容易專注于游戲本身的開發(fā)
    2014-09-09
  • 如何利用Node.js做簡單的圖片爬取

    如何利用Node.js做簡單的圖片爬取

    這篇文章主要介紹了如何利用Node.js做簡單的圖片爬取,爬蟲的主要目的是收集互聯(lián)網(wǎng)上公開的一些特定數(shù)據(jù),本文介紹用于網(wǎng)絡(luò)抓取的node.js包,完成一個簡單的爬蟲案例來爬取網(wǎng)頁上圖片并下載到本地
    2022-06-06
  • Node.js 基礎(chǔ)教程之全局對象

    Node.js 基礎(chǔ)教程之全局對象

    這篇文章主要介紹了Node.js 基礎(chǔ)教程之全局對象的相關(guān)資料,Node.js 中的全局對象是 global,所有全局變量(除了 global 本身以外)都是 global 對象的屬性,需要的朋友可以參考下
    2017-08-08
  • 淺談Node.js中的定時器

    淺談Node.js中的定時器

    本文給大家分享的是Node.js中的定時器的相關(guān)資料,十分的全面細(xì)致,有需要的小伙伴可以參考下。
    2015-06-06
  • Node.js操作mysql數(shù)據(jù)庫增刪改查

    Node.js操作mysql數(shù)據(jù)庫增刪改查

    這篇文章主要介紹使用Node.js操作mysql數(shù)據(jù)庫增刪改查的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • 安裝使用Mongoose配合Node.js操作MongoDB的基礎(chǔ)教程

    安裝使用Mongoose配合Node.js操作MongoDB的基礎(chǔ)教程

    這篇文章主要介紹了安裝使用Mongoose來讓Node.js操作MongoDB的基礎(chǔ)教程,前端js+后端node+js操作MongoDB正是所謂最流行的一種JavaScript全棧開發(fā)方案,需要的朋友可以參考下
    2016-03-03

最新評論

洛隆县| 兴安县| 崇州市| 弋阳县| 墨竹工卡县| 乡城县| 蒙城县| 三江| 平度市| 米泉市| 华坪县| 旬邑县| 如皋市| 莆田市| 龙口市| 卢湾区| 北票市| 平陆县| 清苑县| 多伦县| 怀仁县| 龙口市| 长春市| 河东区| 正镶白旗| 正蓝旗| 西和县| 临湘市| 唐河县| 安达市| 山丹县| 琼结县| 长乐市| 西乡县| 莱州市| 贵德县| 资兴市| 吉林省| 深圳市| 白城市| 岑溪市|