1. 程式人生 > >MongoDB基礎知識與常用命令

MongoDB基礎知識與常用命令

SQL術語/概念 MongoDB術語/概念 解釋/說明
database database 資料庫
table collection 資料庫表/集合
row document 資料記錄行/文件
column field 資料記錄列/欄位
index index 索引
table joins   表連線,MongoDB不支援
primary key primary key 主鍵,MongoDB自動將_id欄位設定為主鍵

 

有一些資料庫名是保留的,可以直接訪問這些有特殊作用的資料庫。

  • admin: 從許可權的角度來看,這是"root"資料庫。要是將一個使用者新增到這個資料庫,這個使用者自動繼承所有資料庫的許可權。一些特定的伺服器端命令也只能從這個資料庫執行,比如列出所有的資料庫或者關閉伺服器。
  • local: 這個資料永遠不會被複制,可以用來儲存限於本地單臺伺服器的任意集合
  • config: 當Mongo用於分片設定時,config資料庫在內部使用,用於儲存分片的相關資訊。

 

資料庫名可以是滿足以下條件的任意UTF-8字串。

  • 不能是空字串("")。
  • 不得含有' '(空格)、.、$、/、\和\0 (空字元)。
  • 應全部小寫。
  • 最多64位元組。

 

文件

文件是一組鍵值(key-value)對(即BSON)。MongoDB 的文件不需要設定相同的欄位,並且相同的欄位不需要相同的資料型別,這與關係型資料庫有很大的區別,也是 MongoDB 非常突出的特點。

一個簡單的文件例子如下:

{"site":"www.runoob.com", "name":"菜鳥教程"}


常用命令

show dbs;                  #檢視全部資料庫

show collections
/tables; #顯示當前資料庫中的集合(類似關係資料庫中的表) show users; #檢視當前資料庫的使用者資訊 use databaseA; #連線到資料庫databaseA db;或者db.getName(); #檢視當前所在資料庫 db.help(); #顯示資料庫操作命令,裡面有很多的命令 db.foo.help(); #顯示集合操作命令,同樣有很多的命令,foo指的是當前資料庫下,一個叫foo的集合,並非真正意義上的命令 db.foo.find(); #對於當前資料庫中的foo集合進行資料查詢(由於沒有條件,會列出所有資料) db.foo.find( { a : 1 } ); #對於當前資料庫中的foo集合進行查詢,條件是資料中有一個屬性叫a,且a的值為1