1个文档,其中包含〜1000个对象的数组或1001个文档,其中1个doc链接到1000个对象

时间:2013-11-20 20:27:06

标签: couchdb

我仍然有点问题..我有一个链接到其他较小项目的文档。所以我最初的尝试是创建一个文档,其中包含一些数据以及1000个结果,如此

{
    _id : 'testId',
    name : 'abe',
    results : [
        [1,5,'result', .... , 5, 'sec'],
        [2,4, 'pesult', ....., 'sec2']
        .
        .
        .
    ]
}

使用这种设计,它看起来更干净,因为我可以在结果列中有1000个这样的数组,但是现在我必须对这些结果进行分页,所以只返回50到100之间的数组项

我是否应该将每个结果保存为单独的文档(这些文档非常小)分解为本文档。

1 个答案:

答案 0 :(得分:1)

这取决于您的结果集是否一致。例如。如果可以错过这1000套中的一两二个结果,或者用新的结果扩展它:每个文档使用一个结果。否则,最好将它们保存在单个文档中。

生活案例:

  • 每个文档的结果很多:您的文档代表测试套件结果,每组测试结果通过/失败/错误/跳过等等。根据这些值,您可以说测试套件是否通过。测试套件在某些时间点是一致的事件,因此您将来通过更改测试结果来避免他的状态受到损害。
  • 每个文档一个结果:您的文档代表单个测试,结果定义是否已通过。没有任何严格的套房或团体将它们保持在一致的状态。

但无论如何,要轻松分页,请根据视图使用recommended recipe