MongoDB 系列文章:javascript
在介紹 MongoDB 的具體操做和使用以前,有必要介紹一些 MongoDB 的基本概念,有了這些基礎和知識鋪墊,後面的操做,纔會掌握的更紮實,理解的更透徹。java
MongoDB 數據庫跟關係數據庫不太同樣,有三個基本概念:文檔,集合和庫。分別對應於關係數據庫的記錄、表和庫。庫必定有一個磁盤文件來對應。MongoDB 數據庫把文檔存在集合中。集合中的文檔,不須要有相同的結構,每一個文檔均可以有不一樣的結構。這使得 MongoDB 比傳統的 RDBMS 更靈活,由於你不用預先定義結構。數據庫
文檔是 MongoDB 的核心概念,文檔是操做數據庫的最小單元。首先,看看文檔長啥樣子吧。文檔其實就是 JavaScript 中的對象字面量,也就是鍵值對。正是由於 MongoDB 的文檔就是 JavaScript 中的對象字面量,因此,MongoDB 才成爲 Node.js 應用開發的首選數據庫系統,由於他很是簡單和直觀,很是容易上手。編程
下面經過幾個文檔的例子,來介紹文檔的規則:segmentfault
文檔的鍵/值對是有序的,內容相同,但順序不一樣的鍵/值對是不一樣的文檔;數組
{ "greeting": "hello world", "foo": 3 } { "foo": 3, "greeting": "hello world" }
文檔中的值不只可使雙引號的字符串,還能夠是其餘數據類型,例如:整數、null、布爾值、浮點數、二進制數據、數組,代碼,等等,甚至能夠是嵌入的文檔;bash
{ "null": null, "boolean": true, "integer": 32, "string": "hello", "float": 3.14, "date": new Date(), "code": function() { console.log('hello'); }, "array": [1, 3, 5, 7] }
文檔中的鍵/值不但區分類型,還區分大小寫;函數
{ "foo": 3 } { "foo": "3" } { "foo": 3 } { "Foo": 3 }
文檔中不能用重複的鍵;code
{ "greeting": "hello world", "greeting": "hello MongoDB" }
下面介紹一下基本的 Shell 操做,在 MongoDB 的數據庫中完成文檔的增、刪、改、查四個操做。等你瞭解這這些命令或者函數,你再嘗試在 JavaScript 腳本代碼中操做數據庫,你會發現這種 API 很是容易上手。對象
$ mongo > use todo # 切換數據庫,若是數據庫不存在則建立,有則切換 > db # 查看當前的數據庫 > db.todo.insert(data) # 在 todo 集合中插入數據,數據是上面介紹的一個合法的文檔 # 例如: > db.todo.insert({"item": "play football"}) > db.todo.find() # 返回集合中的全部文檔 > db.todo.findOne() # 返回集合中的一個文檔 > db.todo.update(old, new) # 將舊文檔換成新文檔 > db.todo.remove(old) # 刪除舊文檔
更多的命令用法,請參考文檔:MongoDB 基本操做
小結:
其實 Shell 的 API 和 JavaScript 編程的 API 徹底相同,增、刪、改、查,就是四個單詞,insert, remove, update, find。
若是這個文章對你有用,請點贊並收藏!