我是新来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