我正在使用Couchbase v4.5和.NET SDK 2.3.8版。我正在將視圖遷移到N1QL查詢中。可用於視圖的Javascirpt爲我提供了對文檔的數組成員進行排序的靈活性,並隨後從數組中選擇了單個元素。因此,儘管在我看來我有:選擇特定數組元素
'Username': doc.Document.LogActions.sort(function(a,b){ return (a.Time > b.Time) })[doc.Document.LogActions.length - 1].Username
...我現在正努力通過在N1QL查詢中的.NET SDK來完成相同的操作。需要注意的是,我正試圖在LINQ中完成此操作。我意識到我可以使用原始字符串查詢,它提供了完整的N1QL支持,但團隊負責人希望通過LINQ完成此操作......除非絕對沒有辦法通過LINQ來完成。
我已經試過如下:
排序 - 不允許在數組中的對象上由一個屬性進行排序
Username = doc.Document.LogActions
.OrderByDescending(logAction => logAction.Time)
.FirstOrDefault()
.Username,
就拿剛剛過去的 - 最後不支持
Username = transaction.Document.LogActions
.LastOrDefault()
.Username,
不分揀 - Stil升返回數組
Username = transaction.Document
.LogActions[transaction.Document.LogActions.Count - 1]
.Username
我能想到做的僅僅是返回數組回到.NET和做過濾有唯一的其他東西。但是,我們沒有平均數量爲多少個項目的基線。我們寧願避免帶回我們不需要的數據。
我有沒有使用原始字符串查詢?理想情況下,我試圖根據Time
屬性從數組中找到最近的「日誌操作」。