2015年06月09日 10:58:36 張小凡vip 閱讀數 21310更多javascript
所屬專欄: mongodb基礎與運用html
版權聲明:本文爲博主原創文章,未經博主容許不得轉載。 https://blog.csdn.net/q383965374/article/details/46414115java
做爲一個數據庫,MongoDB有一個很大的優點—它使用js管理數據庫,因此也可以使用js腳本進行復雜的管理mongodb
mongodb 的shell是javascript實現的,若是直接使用js實現相應的功能則顯得很直觀和簡便。shell
好比咱們對一些數據進行 統計計算,除了使用mapreduce以外,直接使用js也是很好的選擇。數據庫
還有一些批處理,數據同步均可以使用jsjson
使用js腳本進行交互的優勢與缺點
(1)無需任何驅動或語言支持;服務器
(2)方便cron或管理員定時任務;ide
(3)注意點:任然是數據格式的問題;ui
js腳本通常會用來執行如下任務
(1)備份;
(2)調度map-reduce命令;
(3)離線報告,離線任務;
(4)管理員定時任務;
如何運行一個js腳本
./mongo 127.0.0.1:3003/test –quiet test.js
說明:
(1)./mongo
mongo客戶端-_-;
(2)127.0.0.1:3003/test
服務器的ip,port,以及須要鏈接的數據庫;
(3)–quiet
省略一些頭信息
(4)test.js
待運行的腳本,內容是:
db.test.find().forEach(printjson);
也可使用–eval參數
./mongo 127.0.0.1:3003/test –eval 「db.test.find().forEach(printjson);」
–eval參數後面直接跟一個js語句。
其餘的一些說明
(1)一般使用兩種方法打印獲取到的結果:
print() => 普通js
printjson() => 格式化json打印,打印出來的格式會漂亮許多
(2)迭代器(iterator command)在腳本操做中將失效
(3)如何知道insert、delete、update等操做是否成功呢,請使用:
db.getLastErrorObj()
或者
db.getLastError()
(4)js shell的相關介紹見:
https://developer.mozilla.org/En/SpiderMonkey/Introduction_to_the_JavaScript_shell