對不起,如果標題不清楚,但我發現我的問題很難簡明扼要地解釋。我有一些JSON文件,結構是這樣的:MarkLogic node.js:按同一文檔中多個實例的json元素的值進行排序
{
"count": 100,
"groups": [
{
"name": "group A",
"count": 12
},
{
"name": "group B",
"count": 22
},
{
"name": "group C",
"count": 7
}
]
}
基本上,該文件有一個項目計數加那算成更小的羣體的細分。因此,這個記錄代表100個項目的集合,其中12個來自A組,22個來自B組,7個來自C組。
現在,我有一個元素範圍索引「count」和一堆這些文件。我想能夠通過任何選項進行排序:
- 排序總計數(降序或升序)
- 排序組的計數(降序或升序)
- 排序B組數(降序或升序)
- 排序
我已經試過C組數(升序或降序)
.orderBy(qb.sort("count", "descending"))
這似乎是根據總成本(文檔根目錄中的一個)排序,但我不確定這是否始終如此,或者我需要指定其他內容以確保它始終得到該特定的一個。
對於由特定組排序,我不知道如何指定它。
有什麼建議嗎?
「是否可以將每個組存儲在單獨的文檔中?」 - 是的,這是我考慮的第一種選擇。主要問題是它大大增加了我們的文檔數量。 –
「另一個問題是,您是否可以將這些東西計入文檔中,將A,B和C集合放在這些可數文檔上,並對任何可合併文檔的組合動態計算計數。」 - >事實上,我上面給出的示例文檔基本上是我們生成的彙總表,因爲它每次都會按照這些計數進行動態計數和排序,這在性能方面似乎更好。這不是這種情況嗎?上面的例子也被簡化了,因爲我們還在總結表中包括總和,我們仍然需要對其進行排序(總體和每個組)。 –
關於第一個問題,MarkLogic是爲大量文檔設計的。最大限度地減少文檔數量不是優化性能的一種方法。 – ehennum