• 
    

      <address id="upfr9"><pre id="upfr9"><strike id="upfr9"></strike></pre></address>
      1. <address id="upfr9"><tr id="upfr9"></tr></address><dl id="upfr9"></dl>

        NoSQL數據庫一MongoDB基本使用

        如今的網站對數據存儲要求越來越靈活,在這種需求下 NOSQL 也就是非關系數據庫越來越流行。所謂非關系數據庫,是指不使用 SQL 語言進行數據操作的數據庫的統(tǒng)稱。這類數據庫存儲數據時沒有固定的模式,不支持數據表 join 的操作,可以很方便的進行橫向擴展。非關系數據庫種類很多,其中 MongoDB 和 redis 應用廣泛。

        十多年的雷州網站建設經驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。成都全網營銷推廣的優(yōu)勢是能夠根據用戶設備顯示端的尺寸不同,自動調整雷州建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯從事“雷州網站設計”,“雷州網站推廣”以來,每個客戶項目都認真落實執(zhí)行。

        一、MongoDB介紹

        MongoDB 是一個是一個基于分布式文件存儲的數據庫,介于關系數據庫和非關系數據庫之間,是非關系數據庫當中功能最豐富,最像關系數據庫的。他支持的數據結構非常松散,是類似json的bson格式,因此可以存儲比較復雜的數據類型。Mongo最大的特點是他支持的查詢語言非常強大,其語法有點類似于面向對象的查詢語言,幾乎可以實現類似關系數據庫單表查詢的絕大部分功能,而且還支持對數據建立索引。

        二、安裝MongoDB

        MongoDB安裝很簡單,無需下載源文件,可以直接用apt-get命令進行安裝。
        打開終端,輸入以下命令:
        sudo apt-get install mongodb
        安裝完成后,在終端輸入以下命令查看MongoDB版本:
        mongo -version
        輸出版本信息,表明安裝成功

        啟動和關閉mongodb命令如下:

        service mongodb start
        service mongodb stop

        默認設置MongoDB是隨Ubuntu啟動自動啟動的。
        輸入以下命令查看是否啟動成功:
        pgrep mongo -l #注意:-l是英文字母l,不是阿拉伯數字1

        卸載MongoDB
        sudo apt-get --purge remove mongodb mongodb-clients mongodb-server

        三、使用MongoDB

        shell命令模式
        輸入mongo進入shell命令模式,默認連接的數據庫是test數據庫,在此之前一定要確保你已經啟動了MongoDB,否則會出現錯誤,啟動之后運行成功,如下截圖:
        NoSQL數據庫一MongoDB基本使用
        MongoDB 存儲的文檔記錄是一個 BSON 對象,類似于 JSON 對象,由鍵值對組成。比如一條用戶記錄:

        {
            name: "Aiden",
            age: 30,
            email: "[email protected]"
        }

        每一個文檔都有一個 id 字段,該字段是主鍵,用于唯一的確定一條記錄。如果往 MongoDB 中插入數據時沒有指定 id 字段,那么會自動產生一個 id 字段,該字段的類型是 ObjectId,長度是 12 個字節(jié)。在 MongoDB 文檔的字段支持字符串,數字,時間戳等類型。一個文檔最大可以達到 16M, 可以存儲相當多的數據。

        常用操作命令:
        數據庫相關

        • show dbs:顯示數據庫列表
        • show collections:顯示當前數據庫中的集合(類似關系數據庫中的表table)
        • show users:顯示所有用戶
        • use yourDB:切換當前數據庫至yourDB
        • db.help() :顯示數據庫操作命令
        • db.yourCollection.help() :顯示集合操作命令,yourCollection是集合名

        先嘗試往 MongoDB 中插入一條數據:

        $ mongo
        > use shiyanlou
        > db.user.insertOne({name: "Aiden", age: 30, email: "[email protected]", addr: ["CD", "SH"]})
        {
                "acknowledged" : true,
                "insertedId" : ObjectId("59a8034064e0acb13483d512")
        }
        > show databases;
        admin      0.000GB
        local      0.000GB
        shiyanlou  0.000GB
        > show collections;
        user

        可以看到,在插入數據前使用 use 指令,切換到了 shiyanlou 數據庫,盡管該數據庫暫時不存在,但當我們插入數據后,該數據庫就被自動創(chuàng)建了。show databases 和 show collection 分別顯示了當前存在的數據庫和當前數據庫的所有文檔集合。而且數據插入后,自動添加了 id 字段。插入多條數據,可以使用 db.collection.insertMany 方法:

        > db.user.insertMany([
        ... {name: "lxttx", age: 28, email: "[email protected]", addr: ["BJ", "CD"]},
        ... {name: "jin", age: 31, email: "[email protected]", addr: ["GZ", "SZ"]},
        ... {name: "nan", age: 26, email: "[email protected]", addr: ["NJ", "AH"]}
        ... ])
        {
                "acknowledged" : true,
                "insertedIds" : [
                        ObjectId("59a8034564e0acb13483d513"),
                        ObjectId("59a8034564e0acb13483d514"),
                        ObjectId("59a8034564e0acb13483d515")
                ]
        }

        添加的數據其結構是松散的,只要是bson格式均可,列屬性均不固定,根據添加的數據為準。先定義數據再插入,就可以一次性插入多條數據,運行完以上例子,庫自動創(chuàng)建,這也說明 MongoDB 不需要預先定義 collection ,在第一次插入數據后,collection 會自動的創(chuàng)建。

        查詢數據可以使用 db.collection.find 方法,可以指定查詢過濾條件:

        > db.user.find()
        { "_id" : ObjectId("59a8034064e0acb13483d512"), "name" : "Aiden", "age" : 30, "email" : "[email protected]", "addr" : [ "CD", "SH" ] }
        { "_id" : ObjectId("59a8034564e0acb13483d513"), "name" : "lxttx", "age" : 28, "email" : "[email protected]", "addr" : [ "BJ", "CD" ] }
        { "_id" : ObjectId("59a8034564e0acb13483d514"), "name" : "jin", "age" : 31, "email" : "[email protected]", "addr" : [ "GZ", "SZ" ] }
        { "_id" : ObjectId("59a8034564e0acb13483d515"), "name" : "nan", "age" : 26, "email" : "[email protected]", "addr" : [ "NJ", "AH" ] }
        
        > db.user.find({name: "jin"})
        { "_id" : ObjectId("59a8034564e0acb13483d514"), "name" : "jin", "age" : 31, "email" : "[email protected]", "addr" : [ "GZ", "SZ" ] }
        
        > db.user.find({age: {$gt: 30}})
        { "_id" : ObjectId("59a8034564e0acb13483d514"), "name" : "jin", "age" : 31, "email" : "[email protected]", "addr" : [ "GZ", "SZ" ] }
        
        > db.user.find({addr: "CD"})
        { "_id" : ObjectId("59a8034064e0acb13483d512"), "name" : "Aiden", "age" : 30, "email" : "[email protected]", "addr" : [ "CD", "SH" ] }
        { "_id" : ObjectId("59a8034564e0acb13483d513"), "name" : "lxttx", "age" : 28, "email" : "[email protected]", "addr" : [ "BJ", "CD" ] }

        上面例子中,我們先通過 db.user.find() 獲取到了之前插入的全部數據。接著使用不同的過濾條件進行了查詢,其中有一些查詢如 {age: {$gt: 30}} 表示查詢年齡大于 30 的用戶。還可以發(fā)現查詢數組中是否存在某一元素也非常方便,上面的例子中查詢出了所有地址含有 CD 用戶。

        MongoDB 的查詢功能非常強大,可以組合各種查詢條件,更多的使用方法可以學習實驗樓的其他課程。更新數據主要通過 db.user.updateOne 或者 db.user.updateMany 方法,前者更新一條記錄,后者更新多條記錄:

        > db.user.updateOne(
        ... {name: "Aiden"},
        ... {$set: {age: 29, addr: ["CD", "SH", "BJ"]}}
        ... )
        { "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }
        > db.user.find({name: "Aiden"})
        { "_id" : ObjectId("59a8034064e0acb13483d512"), "name" : "Aiden", "age" : 29, "email" : "[email protected]", "addr" : [ "CD", "SH", "BJ" ] }

        可以看到成功的更新了一條記錄。刪除數據也非常簡單,可以通過 db.user.deleteMany 或db.user.deleteOne 方法:

        > db.user.deleteMany({addr: "CD"})
        { "acknowledged" : true, "deletedCount" : 2 }
        > db.user.find()
        { "_id" : ObjectId("59a8034564e0acb13483d514"), "user" : "jin", "age" : 31, "email" : "[email protected]", "addr" : [ "GZ", "SZ" ] }
        { "_id" : ObjectId("59a8034564e0acb13483d515"), "user" : "nan", "age" : 26, "email" : "[email protected]", "addr" : [ "NJ", "AH" ] }

        上面的命令成功的刪除所有地址包含 "CD" 的用戶,共刪除了兩條記錄。

        名稱欄目:NoSQL數據庫一MongoDB基本使用
        網站鏈接:http://www.jbt999.com/article46/pdggeg.html

        成都網站建設公司_創(chuàng)新互聯,為您提供Google、虛擬主機、手機網站建設、外貿網站建設、建站公司、靜態(tài)網站

        廣告

        聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

        h5響應式網站建設

      2. 
        

          <address id="upfr9"><pre id="upfr9"><strike id="upfr9"></strike></pre></address>
          1. <address id="upfr9"><tr id="upfr9"></tr></address><dl id="upfr9"></dl>
            欧美国产日韩在线观看 | 亚洲免费AV电影 | 强开小嫩苞一区二区三区网站 | 影音先锋久久久久AV综合网成人 | 国产三级在线播放 | 九九网站 | 国产精品乱码一区二区三区 | 东京热久久 | 大香蕉在线网亚洲欧洲中文字 | 外国黑人的一级视频 |