我正在使用couchbase,我有一个文档(产品),如下所示:
{
"id": "5fe281c3-81b6-4eb5-96a1-331ff3b37c2c",
"defaultName": "default name",
"defaultDescription": "default description",
"references": {
"configuratorId": "1",
"seekId": "1",
"hsId": "1",
"fpId": "1"
},
"tenantProducts": {
"2": {
"adminRank": 1,
"systemRank": 15,
"categories": [
"3"
]
}
},
"docType": "product"
}
我希望得到属于某个类别的所有产品(这个json是产品),所以我创建了以下视图:
function (doc, meta) {
if(doc.docType == "product")
{
for (var tenant in doc.tenantProducts) {
var categories = doc.tenantProducts[tenant].categories
// emit(categories, doc);
for(i=0;i<categories.length;i++)
{
emit([tenant, categories[i]], doc);
}
}
}
}
所以我可以用以下键来运行视图:
[["tenantId", "Category1"]] //Can also have: [["tenant1", "Category1"],["tenant1", "Category2"] ]
我的问题是我收到了该文档,但我希望按照其管理级别和系统级别对文档进行排序,这些是“值”中存在的2个字段。
我知道唯一的解决方案是将这些字段添加到我的密钥中,确定我的密钥是从现在开始的:
[["tenantId", "Category1", "systemRank", "adminRank"]]
在我拿到文件之后,我需要按键的第3和第4个参数排序?
我只是想确保我明白这一点。
由于