1、 db.copyDatabase("blog", "blog2") // 複製數據庫
2、 db.dropDatabase() // 刪除數據庫 blog2
3 、在多臺服務器之間複製數據庫 db.copyDatabase("blog", "blog", "192.168.1.202") // 從源服務器複製 blog 數據庫 。
> use news
switched to db news
> db.cloneDatabase("192.168.1.202") // 從源服務器克隆當前數據庫(news)
4、 當我們使用 use 切換到某個數據庫時,變量 db 表示當前數據庫。還可以用 getSisterDB() 函數獲取其他數據庫的引用。
> blog = db.getSisterDB("blog")
blog
> blog.users.insert({name : "abc"})
> blog.users.find({name : "abc"})
5、 索引信息被保存在 system.indexes 中,且默認總是爲 _id 創建索引。
ensureIndex / dropIndex / reIndex
使用 ensureIndex 創建索引,dropIndex() 刪除索引,dropIndexes() 刪除全部索引(不包括 _id 等系統索引)。
> db.users.ensureIndex({name:1}) > db.users.ensureIndex({age:1}) > db.system.indexes.find()
6. Unique Index
只需在 ensureIndex 命令中指定 unique 即可創建唯一索引。
> db.users.ensureIndex({name:1}, {unique: true }) > db.system.indexes.find()
7. totalIndexSize
MongoDB 會將索引數據載入內存,以提高查詢速度。我們可以用 totalIndexSize 獲取全部索引數據大小。
8、dbpath & port
默認數據存儲路徑是 /data/db,默認端口 27017,默認 HTTP 端口 28017。用 --dbpath 和 --port 改吧
9. daemon
如果想以 Daemon 方式運行,需要同時使用 --fork、--logpath 參數。
10、排序 db.users.find().sort({age:-1}).limit(10000)
11、 Replica Sets 11.
Replica Sets 使用 n 個 Mongod 節點,構建具備自動容錯轉移(auto-failover)、自動恢復(auto-recovery) 的高可用方案。通常使用 3 個 mongod 實例,或者 2 mongod + 1 arbiter 方案。
/home/qiyk/tool/mongodb/bin/mongod -port 27017 -replSet myset -dbpath=/home/qiyk/tool/mongodb/data/db -fork -rest -logpath=/home/qiyk/tool/mong odb/data/log/all.log /home/qiyk/tool/mongodb/bin/mongod -port 27027 -replSet myset -dbpath=/home/qiyk/tool/mongodb/data/db2 -fork -rest -logpath=/home/qiyk/tool/mo ngodb/data/log/all2.log /home/qiyk/tool/mongodb/bin/mongod -port 27037 -replSet myset -dbpath=/home/qiyk/tool/mongodb/data/db3 -fork -rest -logpath=/home/qiyk/tool/mo ngodb/data/log/all3.log
然後:> cfg={_id:"myset",members:[
... ... {_id:0,host:"10.20.155.10:27017"},
... ... {_id:1,host:"10.20.155.10:27027"},
... ... {_id:2,host:"10.20.155.10:27037"}]};
> rs.initiate(cfg)
;
{
"info" : "Config now saved locally. Should come online in about a minute.",
"ok" : 1
}
如此 Replica Sets 就算配置成功。
相關配置數據保存在 local 數據庫中。
12. #只允許某ip訪問
$ mongod --bind_ip 127.0.0.1
13、Mongo Database Profiler
也可以在客戶端調用db.setProfilingLevel(級別) 命令來實時配置。可以通過db.getProfilingLevel()命令來獲取當前的Profile級別。
|
上面斜體的級別可以取0,1,2 三個值,他們表示的意義如下:
0 – 不開啓
1 – 記錄慢命令 (默認爲>100ms)
2 – 記錄所有命令