2015-01-17 46 views

回答

2

理論上任何一段代碼都可以通過一個好的shell來實現。

那麼,爲什麼我們實際上不惜一切代價遠離殼?

  1. 安全性問題,當應用程序使用shell執行操作時,它對漏洞非常敏感。
  2. 配置。如果服務器沒有所需的客戶端,或者客戶端的版本錯誤,該怎麼辦?
  3. 驅動程序處理許多邊緣情況,你可能乍一看沒有注意到。連接丟失處理,多重連接等。

簡言之,想象外殼命令作爲用戶接口爲管理員。對於任務來說,它可能足夠強大,但作爲一名開發人員,您希望通過這個中間人並直接與服務器通信。

1

如果你使用某種語言(比如說Java)編程,使用Java驅動程序訪問MongoDB比從Java調用mongodb shell並且以這種方式(從shell)執行命令到MongoDB要容易得多。特別適用於JavaScript語言和NodeJS JavaScript宿主環境。這就是爲什麼使用驅動程序是有道理的。

實際上,這整個事情不僅適用於MongoDB,也適用於關係數據庫(如MySQL,Oracle等)。

相關問題