2013-04-29 45 views
20

我想用客戶端的javascript來使用MongoDB,但MongoDB的關於如何實現這一點的文檔非常混亂。從客戶端和Javascript一起使用MongoDB

this網頁沒有什麼可下載的,我期待看到類似mongo.js的東西。

Here我找到了mongo.js,並使用this我試圖讓它工作,但沒有運氣。

谷歌瀏覽器中的JavaScript控制檯說:

Uncaught TypeError: Object [object Object] has no method 'init'

在從mongo.js這個片段:

if (typeof Mongo == "undefined"){ 
    Mongo = function(host){ 
    this.init(host); 
    } 
} 

是否有人在使用MongoDB的使用純JavaScript任何提示?

回答

19

您鏈接到的文檔是關於訪問MongoDB與服務器側JavaScript使用node.js框架。

MongoDB確實提供了一個允許通過XmlHttpRequests進行基本查詢的REST web服務。要啓用它,你必須用--rest參數啓動mongod。然後你可以這樣查詢:

http://127.0.0.1:28017/yourDatabase/yourCollection/?filter_name=Bob 

你可以用AJAX XmlHttpRequest查詢這個URL,就像任何webservice一樣。它將訪問本地主機上的數據庫並返回等效於這樣的查詢的JSON:

yourDatabase.yourCollection.find({name:"Bob"}); 

但是,該接口是非常基本的。它只提供簡單的查找查詢。但是有第三方中間件層揭示了更多高級功能。此功能與第三方解決方案列表記錄在這裏:

http://docs.mongodb.org/ecosystem/tools/http-interfaces/

3

有很多侷限在使用MongoDB中提供的REST Web服務。它的功能非常有限,我們無法在查詢數據時提供查詢條件或排序選項。

我建議編寫自己的服務器端腳本或servlet,以提供REST接口來從MongoDB獲取數據。

0

更新:MongoDB今年推出了服務,MongoDB Stitch。這使得開發人員可以連接到MongoDB Atlas(雲)並公開數據以及直接在ui(通過js)使用的查詢。目前,它的測試版,但文件和樣本在他們的網站上供參考。