无法获取`key`查询字符串参数来选择特定行

时间:2016-11-22 07:29:04

标签: couchdb

我的头靠在墙上。在查询文档时,我无法获取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 个答案:

答案 0 :(得分:1)

您的密钥应该是JSON编码的,因此请改用key="frank"。 (就像在例子中一样)