mongodb執行js腳本(一)---shell執行

mongodb執行js腳本(一)---shell執行

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

相關文章
相關標籤/搜索