以下是我工作的文件:
{ "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的顺序排列。 请让我知道我做错了什么。
Below is the document on which I am working:
{ "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": [ ] }I am trying to sort based on name as below
function (doc, meta) { if(doc.geminiType == "storegroup") { emit(doc.name, [ meta.id,doc.name, doc.parent, doc.type]); } }This I have created permanent view in couchbase console. I am fetching the document from my jave code using couchbase client as below:
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()); } }Here I am getting the result in order of meta.id of the doc but i was expecting the result set to be in order of doc.name. Please let me know where I am doing wrong.
最满意答案
我得到了上述问题的解决方案。 实际上如果我使用下面两个get方法而不是row.getDocument()来获取数据,我按预期的顺序获取数据。
row.getkey()row.getvalue()
I got the solution to above issue. Actually if I used below two get method instead of row.getDocument() to fetch data, I am getting data in sorted order as expected.
row.getkey() row.getvalue()
更多推荐
发布评论