以下是我正在处理的文件:
{
"id": "idgwSRWDUJjQH",
"rev": "15-13d1d4545cd601560000000000000000",
"expiration": 0,
"flags": 0
}
{
"geminiType": "storegroup",
"_class": "web.model.StoreGroup",
"order": "10",
"childId": [
],
"name": "aaa",
"parent": "root",
"userGroupId": [
],
"type": "Folder",
"storeId": [
]
}
我正在尝试根据名称进行排序,如下所示
function (doc, meta) {
if(doc.geminiType == "storegroup") {
emit(doc.name, [ meta.id,doc.name, doc.parent, doc.type]);
}
}
我在couchbase控制台中创建了永久视图。我使用couchbase客户端从我的jave代码中获取文档,如下所示:
View storeGrpView = cc.getView(RRConsts.STORE_GROUP_VIEW_DESIGN_DOC, RRConsts.STORE_GROUP_VIEW);
Query getAllstoreGrpQuery = new Query();
getAllstoreGrpQuery.setIncludeDocs(true);
getAllstoreGrpQuery.setStale(Stale.FALSE);
ViewResponse result = cc.query(storeGrpView, getAllstoreGrpQuery);
logger.info("getAllstoreGrpQuery resultset: " + result.toString());
for(ViewRow row : result) {
logger.info("store group :"+row.getDocument().toString());
}
}
这里我按照doc的meta.id顺序得到结果,但我希望结果集按doc.name的顺序排列。请让我知道我做错了什么。
答案 0 :(得分:0)
我得到了上述问题的解决方案。实际上,如果我使用下面的两个get方法而不是row.getDocument()来获取数据,我按预期的顺序获取数据。
row.getkey() row.getvalue()