MongoDB 入門專欄
http://blog.csdn.net/column/details/19681.html
資料庫操作 查看資料庫
# 查看當前mongo下的所有資料庫
> show databases
> show dbs
建立資料庫
# 串連,建立 testdb 資料庫
> use testdb
此時已經建立了 testdb 資料庫,但是如果使用 show dbs 指令並不能查詢到相關資訊,這是由於 mongodb 是不顯示空資料庫的,如果向空資料庫 testdb 插入一些資料,便可以顯示該資料庫了;
刪除資料庫
# 刪除 testdb 資料庫
> use testdb
> db.dropDatabase()
複製資料庫 可以使用
db.copyDatabase(from_db,to_db [,from_host]) 來複製資料庫;
# 複製 testdb 庫為 testdb_copy 庫
> use testdb
> db.copyDatabase("testdb", "testdb_copy")
重新命名資料庫 mongodb 沒有提供重新命名資料庫的指令,可以通過複製資料庫來實現資料庫的重新命名;
# 重新命名 testdb 為 testdb233
> use testdb
> db.copyDatabase('testdb', 'testdb233')
> db.dropDatabase()
但是這種方式如果資料庫龐大時很佔用資源,可以使用遍曆重新命名集合的方式來實現:
# 重新命名 testdb 為 testdb233
> use testdb
> db.runCommand( { renameCollection:'testdb.orders', to: 'testdb233.orders' } )
集合操作
查看集合
# 顯示指定資料庫的所有集合
> use testdb
> show collections # 或者 show tables
建立集合
db.createCollection(name,option) 用於建立集合,其中 option 選擇性參數如下: autoIndexID:是否在 _id 欄位自動建立索引,預設為 false;
capped:是否建立固定集合,指定為 true 時當集合容量到最大值時,會自動覆蓋最早的文檔,當指定 capped時,必須指定 size 參數;
size:指定固定集合的大小的上限,單位為位元組;
max:指定固定集合的文檔數量上限;
※在插入文檔時,mongodb 先檢查 size,再檢查 max;
> use testdb
> db.createCollection('articles')
> db.createCollection( 'site', { capped:true, autoIndexID:true, size:233300, max: 10000} )
實際上 mongodb 中並不需要建立集合,在插入文檔時候,mongodb 會自動建立集合;
刪除集合
# 刪除 testdb 的 site 集合
> use testdb
> db.site.drop()
重新命名集合
# 重新命名 testdb 庫的 site 集合為 site233
> use testdb
> db.site.renameCollection('site233')