2016-11-22 6 views
0

ここで壁に向かって私の頭を叩いていました。ドキュメントを照会するときに特定の行を選択するために、クエリ文字列パラメータkeyを取得できません。ここで私はすべての文書を照会することができます示して新鮮なデータベースに対して実行するスクリプトですが、そのキーで1つだけ選択することはできません。私の知る限り、私は最初の段落の例を以下のよ言うことができるように特定の行を選択するために `key`クエリ文字列パラメータを取得できません。

#!/usr/bin/env bash -ex 

# Create a database. 
curl -X PUT http://localhost:5984/names 

# Add a few documents. 
curl -X POST -H 'Content-Type: application/json' -d '{"name":"joe"}' http://localhost:5984/names 
curl -X POST -H "Content-Type: application/json" -d '{"name":"frank"}' http://localhost:5984/names 

# Add a view function. 
curl \ 
    -X PUT \ 
    -H 'Content-Type: application/json' \ 
    -d '{ "views": { "by_name": { "map": "function (doc) { if (doc.name) { emit(doc.name, doc.name.toUpperCase()) } }" } } }' \ 
    http://localhost:5984/names/_design/docs 

# Querying all the documents works. 
curl -X GET http://localhost:5984/names/_design/docs/_view/by_name 

# Selecting one of those documents by key does not work. 
curl -X GET http://localhost:5984/names/_design/docs/_view/by_name?key=frank 

CouchDBドキュメントの"Find One"セクションを参照してください。

答えて

1

キーはJSONエンコードされている必要がありますので、代わりにkey="frank"を使用してください。 (例のように)

+0

ダーン。私はすでにそれを試みましたが、コマンドラインで引用符をエスケープする必要があることを認識していませんでした。ありがとう! – pe8ter

関連する問題