我试图在 CouchDB 中获得视图整理的好处,但没有成功,有人可以检查一下我的情况有什么问题吗?
首先,我基于http://www.cmlenz.net/archives/2007/10/couchdb-joins
然后,我想实现由 parent_id 链接的树,例如:
|- Li
|- test
|- tester
在 CouchDB 中是:
{"_id":"root","name":"Li","completed":true},
{"_id":"102ef7e2e99db3983a3bb60a490015db","parent_id":"root","name":"test","completed":false},
{"_id":"102ef7e2e99db3983a3bb60a4900209e","parent_id":"102ef7e2e99db3983a3bb60a490015db","name":"tester","completed":false}
因此,我定义了以下视图:
items : {
map : function(doc){
emit([doc._id, 0], doc);
emit([doc.parent_id, 1], doc);
}
}
并且期望 startKey=["root"] 的查询只返回两个文档根并且它是唯一的直接子文档,但是查询返回所有(加倍的)文档,即按键过滤对我不起作用。
可能是什么问题?
您可以在http://yo.iriscouch.com/_utils/database.html?cats查看数据库
然后查询 http://yo.iriscouch.com/cats/_design/app/_view/items?startKey=[%22root%22] 返回完全一样的没有任何参数,即它看起来像 startKey 被忽略。
我试过 startKey=["root", 0]&endKey=["root", 2] 也没有任何运气。
谢谢你。