排序鉴于couchbase一个JSON文件,例如,一个里程碑式的集合,它类似于此:限制,并通过不同的属性上couchbase
{
"milestoneDate" : /Date(1335191824495+0100)/,
"companyId" : 43,
"ownerUserId": 475,
"participants" : [
{
"userId": 2,
"docId" : "132546"
},
{
"userId": 67,
"docId" : "153"
}
]
}
如果我选择公司43
的所有里程碑而想要最新首先对它们进行排序..我的上couchbase的看法是与此类似:
function (doc, meta) {
if(doc.companyId && doc.milestoneDate)
{
//key made up of date particles + company id
var eventKey = dateToArray(new Date(parseInt(doc.milestoneDate.substr(6))));
eventKey.push(doc.companyId);
emit(eventKey, null);
}
}
我得到两个日期和公司ID上休息的URL。但是,是很新的couchbase,我无法解决如何将视图限制为ret瓮公司43
的唯一里程碑返回键与此类似:
"key":[2013,6,19,16,11,25,14]
,其中最后一个元素(14
)是该公司的ID ..这是很明显的错误。
,我曾试图查询参数为:
&descending=true&startkey=[{},43]
&descending=true&startkey=[{},43]&endKey=[{},43]
- 尝试添加companyId到
value
但不能按值限制返回的结果。
而根据couchbase文档,我需要在开始的日期部分对它们进行排序。我现在如何限制他们的公司ID?
谢谢。
这也是在43之后返回其他公司ID所以如果公司ID 43有3个里程碑并且我要求5,最后两个是42 。 – LocustHorde
啊,对不起,我刚才做了这个;这对我来说足够好,因为我只是在做一些应用程序日志转储,它总是有足够的事件,尽管我应该在应用程序层添加一个检查来滤除它们或者其他东西..我会回去尝试一下并看看我是否可以把它限制到一个组。 – iamserious
这些链接可以帮助你:http://blog.couchbase.com/understanding-grouplevel-view-queries-compound-keys和http://blog.couchbase.com/understanding-letter-ordering-view-queries –