MongoDB超級簡明入門教程

來源:互聯網
上載者:User

標籤:date   結構   com   direct   parent   numbers   directory   通過   讀寫權限   

1.概念篇

MongoDB和MySQL分別作為非關係型資料庫和關係型資料庫的代表,通過它們之間的對比可以很快的建立起對MongoDB的認知。

MongoDB MySQL
資料庫(Database) 資料庫(Database)
集合(Collection) 表(Table)
文檔(Document) 記錄(record)

對於關係型資料庫,一般來說,我們可以簡單的理解為:一個資料庫管理應用,可以建立多個資料庫(databases),每個資料庫可以管理很多個表(tables),表中儲存的就是可以CURD的記錄(records),這種管理層級同樣可以映射到MongoDB上。

與MySQL不同的是,MongoDB的資料具有靈活的模式 。集合本身沒有對文檔結構的規則性校正,而表的設計從一開始就約束死了記錄該包含的欄位名。

需要注意的是,MongoDB作為非關係型資料庫,不是說其我們使用時不能設計成關係型的結構,我們同樣可以人為地約束(document)文檔結構包含的資料的類型,(與MySQl不同的是,MongoDB的文檔支援數組和對象、子文檔等複雜的資料結構)同樣文檔之間也可以設計成類似ER圖的關聯式模式。
下面是官網提供的一個書籍分類樹形結構資料建模的例子
?

傳統的關係型資料庫的設計思想是把每個節點當做一個記錄,每個節點儲存其父節點的_id.

_id parent
MongoDB Databases
dbm Databases
Databases Programming
Languages Programming
Programming Books
Books null

這種關係也可以使用MongoDB儲存

db.categories.insert( { _id: "MongoDB", parent: "Databases" } )db.categories.insert( { _id: "dbm", parent: "Databases" } )db.categories.insert( { _id: "Databases", parent: "Programming" } )db.categories.insert( { _id: "Languages", parent: "Programming" } )db.categories.insert( { _id: "Programming", parent: "Books" } )db.categories.insert( { _id: "Books", parent: null } )

其他幾種樹形結構的建模方法請參考
Model Tree Structures
Modeling a Tree in a Document Database

2.快速控制項目篇
  • 下載安裝用戶端https://docs.mongodb.com/manual/administration/install-community/
  • 開啟MongoDB服務
    (1)建立資料庫儲存目錄

    mkdir -p ~/yourdir/db

    確保目前使用者擁有該目錄的讀寫權限
    (2)開啟服務

    mongod --dbpath <path to data directory>

    再此之前確保mongod命令路徑已經加入到了系統內容變數

  • 使用mongo shell 操作資料庫
    (1)串連到資料庫,開啟命令模式

    mongo --host 127.0.0.1:27017

    如果使用預設參數,後面的參數可以省略
    (2)顯示目前操作的資料庫

    db

    (3)切換資料庫

    use <database>

    當第一次儲存資料到資料庫時,MongoDB會自動建立資料庫及集合

    use myNewDatabasedb.myCollection.insertOne( { x: 1 } );

    上面的insertOne語句會自動建立myNewDatabase資料庫,與myCollection集合。

3.MongoDB 增刪改查 操作
db.collection.insertOne()db.collection.insertMany() 
db.collection.deleteOne()db.collection.deleteMany()
db.collection.updateOne()db.collection.updateMany()db.collection.replaceOne()
db.collection.find()

MongoDB超級簡明入門教程

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.