2012-06-14 60 views
1

我是一個couchDB noob,我沒有運氣從我的意見得到過濾迴應。不管這個問題我總是得到整個觀點,這是沒有道理的。沙發數據庫查詢

例如在一個用戶數據庫中......我試過這個地圖功能,只是想了解它是如何工作的。

login: { 
     map: function(doc){ 
      if (doc.firstName && doc.lastName) 
       emit(doc.firstName, doc.lastName); 
     } 
    } 

Text book stuff right?

但是當我發佈一個查詢,看起來像這樣...

{key: ["Mo"]} ... or ... {key:"Mo"} 

我回來的一切...整個看法!即使是這樣...

{startkey:["Mo"], endkey:["Mo"]} ... or ... {startkey:"Mo", endkey:"Mo"} 

將查詢編碼到url中,並做一個GET給我同樣的迴應!

我該如何做這項工作?什麼是特別醬?我需要犧牲一隻動物嗎?還是我不夠放鬆?

+0

你應該閱讀[的文檔(HTTP: //wiki.apache.org/couchdb/HTTP_view_API),你的例子中沒有一個是couchdb查詢。你在哪裏找到了,例如'{startkey:「mo」,endkey:「Mo」}'是一個有效的查詢? –

+0

該文檔顯示了json中的「鍵」查詢的示例,正​​好在該頁上,所以我認爲所有查詢都可以通過這種方式完成,這是有道理的,否則人們需要在querystrings中發送密碼和其他敏感數據...這是非常可怕的安全智慧......或者我錯了嗎? – cybermotron

+0

您不能使用POST來查詢視圖,除了通過'{「keys」:[]}'詢問多個文檔鍵外。您需要使用查詢字符串參數來使用GET。此外,CouchDB具有[內置身份驗證](http://guide.couchdb.org/draft/security.html),所以您不應該使用視圖來處理登錄。反正你專門使用哪個網址? –

回答

0

所以,僅僅是明確的,您的網址應該是這樣的:

http://your.server/your_db/_design/view_id/_view/view_name?key="Mo" 

而且大多數瀏覽器將正確編碼這些" s轉換%22小號