couchdb 的新手,我想与排序建立一对多的关系
类别 -> 文档
想对类别进行排序并对每个类别中的文档进行排序,并希望将结果作为数组获得。
我可以按类别或按文档排序,但不能同时按两者。
我想得到这样的查询结果:
[{ name: 'category1',
position: 1,
type: 'category',
documents: [{ name: ..., type: ..., position: 1 },
{ name: ..., type: ..., position: 2 },
{ name: ..., type: ..., position: 3 }
}
{ name: 'category2',
position: 2,
type: 'category',
documents: [{ name: ..., type ..position: 1 },
{ name: ..., position: 2 },
{ name: ..., position: 3 }]
}]
我像这样设置视图设计和地图功能(这是正确的方法吗?):
function(category) {
if (type == 'category') {
for (var d in category.documents) {
emit([category.position, category.documents[d].position??? ], {_id: category.documents[d], category: category })
}
}
问题是...
1- category.documents[d].position 还不会“存在”,所以我不能简单地这样做。
2-查询结果的格式不是我想要的。它将是文档行,而不是具有文档对象数组的类别行。