gpt4 book ai didi

views - CouchDB View : remove duplicates *and* order by time

转载 作者:行者123 更新时间:2023-12-04 11:30:52 24 4
gpt4 key购买 nike

基于对我的 previous question 的一个很好的回答,我已经部分解决了我在 CouchDB 中遇到的问题。

这导致 a new view .

现在,我需要做的下一件事是在按日期排序时从此 View 中删除重复项。

例如,以下是我查询该 View 的方式:

GET http://scoates-test.couchone.com/follow/_design/asset/_view/by_userid_following?endkey=[%22c988a29740241c7d20fc7974be05ec54%22]&startkey=[%22c988a29740241c7d20fc7974be05ec54%22,{}]&descending=true&limit=3

结果是这样:
HTTP 200 http://scoates-test.couchone.com/follow/_design/asset/_view/by_userid_following
http://scoates-test.couchone.com > $_.json.rows
[ { id: 'c988a29740241c7d20fc7974be067295'
, key:
[ 'c988a29740241c7d20fc7974be05ec54'
, '2010-11-26T17:00:00.000Z'
, 'clementine'
]
, value:
{ _id: 'c988a29740241c7d20fc7974be062ee8'
, owner: 'c988a29740241c7d20fc7974be05f67d'
}
}
, { id: 'c988a29740241c7d20fc7974be068278'
, key:
[ 'c988a29740241c7d20fc7974be05ec54'
, '2010-11-26T15:00:00.000Z'
, 'durian'
]
, value:
{ _id: 'c988a29740241c7d20fc7974be065115'
, owner: 'c988a29740241c7d20fc7974be060bb4'
}
}
, { id: 'c988a29740241c7d20fc7974be068026'
, key:
[ 'c988a29740241c7d20fc7974be05ec54'
, '2010-11-26T14:00:00.000Z'
, 'clementine'
]
, value:
{ _id: 'c988a29740241c7d20fc7974be063b6d'
, owner: 'c988a29740241c7d20fc7974be05ff71'
}
}
]

如您所见,“clementine”出现了两次。

如果我更改 View 以将水果/ Assets 名称作为第二个键(而不是时间)发出,我可以更改分组深度以折叠这些,但这并不能解决我的按时间排序的要求。同样,通过上述设置,我可以按时间排序,但我不能将重复的 Assets 名称折叠成单行(例如,允许每页 10 个 Assets )。

不幸的是,这不是一个可以解释的简单问题。也许 this chat transcript会有所帮助。

请帮忙。恐怕我需要做的事情还是做不到。

最佳答案

您可以使用列表功能执行此操作。这是一个生成一个非常简单的列表的示例,该列表包含所有没有重复的所有者字段。您可以轻松修改它以生成 json 或 xml 或您想要的任何内容。

将其放入lists.nodupes 中的 Assets 设计文档中,并像这样使用:
http://admin:123@127.0.0.1:5984/follow/_design/assets/_list/nodupes/by_userid_following_reduce?group=true

function(head, req) {
start({
"headers": {
"Content-Type": "text/html"
}
});
var row;
var dupes = [];
while(row = getRow()) {
if (dupes.indexOf(row.key[2]) == -1) {
dupes.push(row.key[2]);
send(row.value[0].owner+"<br>");
}
}
}

关于views - CouchDB View : remove duplicates *and* order by time,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4298937/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com