排序鑑於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 –