java代码中的couchbase排序问题(couchbase sort issue in java code)

编程入门 行业动态 更新时间:2024-10-25 12:18:21
java代码中的couchbase排序问题(couchbase sort issue in java code)

以下是我工作的文件:

{ "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()

更多推荐

本文发布于:2023-08-01 11:18:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1358091.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:代码   couchbase   java   code   issue

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!