MongoDB 的命令操做

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]
    }
  • 文檔的鍵是字符串,除了極少數狀況,鍵可使任意 utf-8 字符;
  • 鍵不能含 0(空字符),這個字符用來表示鍵的結尾;
  • . 和 $ 有特別的意義,通常狀況下不建議使用;
  • 下劃線開頭的鍵是保留的,通常狀況下不建議使用;
  • 文檔中的鍵/值不但區分類型,還區分大小寫;函數

    {
      "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。

若是這個文章對你有用,請點贊並收藏!

相關文章
相關標籤/搜索