[英]CouchDB Query View with Multiple Keys Formatting
使用多個鍵時,在獲取ouchdb視圖以返回正確的文檔時遇到問題。
可以正常工作,返回匹配的文檔:
GET http://example.com:5984/myDb/_design/myFilters/_view/getItemByForeignKeyId?key=abc123
這將返回視圖中所有匹配或不匹配的文檔:
GET http://example.com:5984/myDb/_design/myFilters/_view/getItemByForeignKeyId?keys=%5B%22abc123%22%5D
我通常很擅長尋找答案。 但是,CouchDB文檔對於使用多個鍵的格式非常清楚。 我已經看到一些使用?keys = [123,123]的方法,並且還看到過?keys =“ abc”,“ abc”。
如果任何人都可以使用GET方法對CouchDB的多個關鍵字查詢的“適當”格式和編碼提供任何說明,我將非常感激。
要從一個視圖中獲取多個鍵,您需要執行一個發布請求並在請求主體中提交這些鍵。 您的HTTP請求將如下所示:
POST /myDb/_design/myFilters/_view/getItemByForeignKeyId
Content-Type: application/json
{
"keys" : [
"abc",
"123"
]
}
function(doc){
{
if([doc.key1, doc.key2])
emit([doc.key1, doc.thingYouWantToKnow]);
}
}
並在查詢字符串的末尾
?key=["key1Value", "key2Value"]
注意,它是key=[]
,不是keys=[]
!!!!!!!!!
並不是說它是正確的,但實際上您也可以通過查詢字符串來做到這一點。 數組括弧不應該被編碼。 例如,這對我有用:
http://localhost:5984/test/_design/artists_albums/_view/albums_by_artist?keys=[%22Super%20bad%20artist%22,%20%22Fake%20artist%201%22]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.