Json 为什么我对Cloudant的多键GET查询返回所有文档?
刚开始 我对cloudant有一个看法,即bywords,它提供了所有文档及其关键字的视图。看起来是这样的:Json 为什么我对Cloudant的多键GET查询返回所有文档?,json,couchdb,cloudant,Json,Couchdb,Cloudant,刚开始 我对cloudant有一个看法,即bywords,它提供了所有文档及其关键字的视图。看起来是这样的: bywords = function(doc) { var tokens, re1, uniq = function(a) { var o = {}, i = 0, L = a.length, r = []; for (; i < L; i++) { if (a[i] !== '
bywords = function(doc) {
var tokens, re1,
uniq = function(a) {
var o = {}, i = 0, L = a.length, r = [];
for (; i < L; i++) {
if (a[i] !== '' && a[i] !== ' ') {
o[a[i]] = a[i];
}
}
for (i in o) { r.push(o[i]); }
return r;
};
if ( doc.observation && doc.observation !== '') {
tokens = uniq(doc.observation.split(/( +)|\./));
if (tokens && tokens.length > 0) {
tokens.map(function(token) {
emit(token, null);
});
}
}
};
....
{
"id": "doc-095141",
"key": "Vivamus",
"value": null
},
{
"id": "doc-102754",
"key": "Vivamus",
"value": null
},
{
"id": "doc-094047",
"key": "volutpat",
"value": null
},
{
"id": "doc-092332",
"key": "vulputate",
"value": null
},
....
视图中有一个项目,针对文档特定字段中的每个单词,针对每个文档
好的
按键查询工作得很好。我是说,这个:
https://myserver.cloudant.com/fop/_design/baseViews/_view/bywords?key=%22amet%22
…从视图中返回预期的项目子集。这是一个少数项目,不到10个
另一方面,多键查询返回视图中的所有项。如果我这样做:
https://.../_design/baseViews/_view/bywords?keys=%5B%22amet%22%5D
…然后我得到每一件东西。很多很多项目。不是我想要的
如何在GET中指定多个键?
我不相信我想要startkey
和endkey
。我希望在我指定的集合中存在具有键的项
附:我知道。我还没试过。通过阅读文档,我应该能够在查询字符串中执行GET并指定多个键
编辑 我刚试过POST选项。它按预期工作。换句话说,此HTTP请求:
POST https://myserver.cloudant.com/fop/_design/baseViews/_view/bywords
...headers here...
{"keys":["amet"]}
..返回我期望它返回的内容:少量匹配的文档
因此,我不再被阻塞,但用于指定键的GET/URI编码形式在Cloudant上不起作用,这对我来说仍然是一个谜 我记得有这个问题,我想这是CouchDB中的一个老错误。你正在运行哪个版本的沙发?带有
键的GET
参数现在在1.2.0中对我有效。IIRC这个bug出现在1.0.x中我记得有这个问题,我想这是CouchDB中的一个老bug。你正在运行哪个版本的沙发?带有键的GET
参数现在在1.2.0中对我有效。IIRC漏洞出现在1.0.x中我正在使用Cloudant.com。我不知道他们正在运行哪个版本的CouchDB。只需点击服务器的/
,它就会报告版本。{“CouchDB”:“欢迎”,“版本”:“1.0.2”,“cloudant_build”:“613”}
那么,这个bug可能仍然存在于cloudant中?你有没有关于那个bug的jira链接?没有,我不知道我是否确认过。刚升级就不见了:)我正在使用Cloudant.com。我不知道他们正在运行哪个版本的CouchDB。只需点击服务器的/
,它就会报告版本。{“CouchDB”:“欢迎”,“版本”:“1.0.2”,“cloudant_build”:“613”}
那么,这个bug可能仍然存在于cloudant中?你有没有关于那个bug的jira链接?没有,我不知道我是否确认过。刚升级就不见了:)