Ember.js 如何处理大型关系数据属性和复合文档?

Ember.js 如何处理大型关系数据属性和复合文档?,ember.js,ember-data,json-api,Ember.js,Ember Data,Json Api,如果一篇文章有几条评论(随着时间的推移考虑数千条)。data.relationships.comments是否应该返回限制 { "data": [ { "type": "articles", "id": 1, "attributes": { "title": "Some title", }, "relationships": { "comments": { "links":

如果一篇文章有几条评论(随着时间的推移考虑数千条)。
data.relationships.comments
是否应该返回限制

{
  "data": [
    {
      "type": "articles",
      "id": 1,
      "attributes": {
        "title": "Some title",
      },
      "relationships": {
        "comments": {
          "links": {
            "related": "https://www.foo.com/api/v1/articles/1/comments"
          },
          "data": [
            { "type": "comment", "id": "1" }
            ...
            { "type": "comment", "id": "2000" }
          ]
        }
      }
    }
  ],
  "included": [
    {
      "type": "comments",
      "id": 1,
      "attributes": {
        "body": "Lorem ipusm",
      }
    },
    .....
    {
      "type": "comments",
      "id": 2000,
      "attributes": {
        "body": "Lorem ipusm",
      }
    },
  ]
}

当您想到复合文档()时,这就开始令人担忧了。这意味着,包含的
部分也将列出所有注释,使得JSON负载相当大。

如果您想限制从长列表中一次获得的记录数,请使用分页()

我将使用
store.query
()分别加载
注释
,如下所示-

store.query('comments', { author_id: <author_id>, page: 3 });

store.query('comments',{author\u id:(未测试),它将提供一个无限滚动列表并自动进行分页请求。

使用异步关系。@Gaurav我们这样做。但我主要关心的是负载的大小,因为文章资源包含所有评论。或者这不是一个问题?您必须将所有评论都包含在文章中,还是可以加载这些评论em单独分页?如果您在文章和注释之间使用异步关系,则注释不必位于文章有效负载的包含部分,并且Ember数据将发出单独的请求对于他们。@andorov您如何建议对
数据.关系.注释和
中的
注释进行分页?对文章进行分页似乎更合理。但您还没有听说过对
数据.关系中的项目进行分页。您的想法是什么?