我是新來RavenDB和我有一個烏鴉的DB文件:RavenDB:兒童收集交叉口
Student
{
Id : int
Subjects : List<int>
}
我想編寫一個查詢來獲得學生的學科的交叉點與ID爲1,學生ID爲2
{
ID : 1
Subjects : {22, 23, 25}
}
{
ID : 2
Subjects : {22, 25 }
}
這些將是交集{} 22,25我還需要交集科目2在這種情況下的計數。
解決此類查詢的最佳方法是什麼?還有其他的NoSQL解決方案能更好地處理這種查詢嗎?另外,我試圖將學生集合緩存在內存中。
我需要一個支持分片的數據庫,並且我還有一個包含1500萬個文檔的數據集(我可以使用像Raven或Mongo這樣的db解決方案將它們分散到不同的機器上)。我必須在db級別執行此操作,並且我無法在RavenDB文檔中的db級別上找到任何操作。
你有什麼試過?請張貼一些代碼。另外 - 爲什麼它在數據庫中完成呢?你可以簡單地找回兩個學生,並自己做交點。你還沒有解釋爲什麼你需要一個數據庫解決方案。你是以某種方式彙總這些結果嗎?怎麼樣? – 2013-03-19 21:32:35
@MattJohnson我需要用於分片的數據庫解決方案,並且我擁有一個包含1500萬個文檔的數據集(我可以使用db解決方案像raven或mongo一樣將它們分散到不同的機器上)。所以,必須在db級別執行此操作。我找不到在ravendb文檔中如何在db級別執行此操作。 – 2013-03-19 22:06:39
當然,您可能需要存儲1500萬個文檔。你是否想要查詢1500萬個文檔的交集?你的例子說你正在檢索2.如果這是典型的,你應該只加載這兩個文檔,並在客戶端linq(例如)自己做十字路口 – 2013-03-19 22:41:03