按couchbase和scala中的文档值排序
我正在使用couchbase,我有一个文档(产品),看起来像:按couchbase和scala中的文档值排序,scala,nosql,couchbase,Scala,Nosql,Couchbase,我正在使用couchbase,我有一个文档(产品),看起来像: { "id": "5fe281c3-81b6-4eb5-96a1-331ff3b37c2c", "defaultName": "default name", "defaultDescription": "default description", "references": { "configuratorId": "1", "seekId": "1", "hsId": "1", "fp
{
"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", "systemRank", "adminRank"]]
在我得到文档后,我需要按键的第3和第4个参数排序
我只是想确保我理解正确
谢谢
[["tenantId", "Category1", "systemRank", "adminRank"]]