【问题标题】:Keeping multiple types ( nesting types / embedding types ) in a single collection:在单个集合中保留多种类型(嵌套类型/嵌入类型):
【发布时间】:2021-03-11 03:02:20
【问题描述】:

我想将所有类型保存在一个名为“BenchmarkDatasets”的集合中。我是否需要以不同的方式声明子类型(LatData、AggregateData、MetaData),还是只需要接受每种类型都有一个集合?

非常感谢任何帮助。

这是架构 I generated:

type LatData {
    LatResults: [[Int ]] 
    LatResultSize: [Int ] 
}

type AggregateData { 
    EVRCounter: Int
    EVRLatencyTotal: Int
    EVRLatencyAverage: Float
    LatTestCount: Int
    LatencyTotal: Int
    LatencyAverage: Float 
}

type MetaData { 
    StartTimeUTC: String
    EndTimeUTC: String
    StartTimeLocal: String
    EndTimeLocal: String 
}

type BenchmarkDataset { 
    LatData: LatData
    AggregateData: AggregateData
    MetaData: MetaData
}

type Query {
  allBenchmarkDatasets: [BenchmarkDataset!]
}

这是我想要放入“BenchmarkDatasets”的数据:

    {
        "MetaData" : 
            {
                "StartTimeUTC" : "Sun Oct 18 21:41:38 2020\n",
                "EndTimeUTC" : "Sun Oct 18 21:45:38 2020\n",
                "StartTimeLocal" : "Sun Oct 18 16:41:38 2020\n",
                "EndTimeLocal" : "Sun Oct 18 16:45:38 2020\n"
            },
            "AggregateData" : 
            {
                "EVRCounter" : 3,
                "EVRLatencyTotal" : 70,
                "EVRLatencyAverage" : 23.333333333333332,
                "LatTestCount" : 159,
                "LatencyTotal" : 11871,
                "LatencyAverage" : 74.660377358490564
            },
            "LatData" : 
            {
                "LatResultSize" : 
                [
                    4,
                    4,
                    4
                ],
                "LatResults" : 
                [
                    [
                        0,
                        2,
                        "zoom",
                        "latencymonitor"
                    ],
                    [
                        1,
                        1,
                        "zoom",
                        "latencymonitor"
                    ],
                    [
                        2,
                        1,
                        "zoom",
                        "latencymonitor"
                    ],
                    [
                        3,
                        1,
                        "dota2",
                        "dota2"
                    ]
                ]
            }
        }

另外,我知道我的数据格式不正确(特别是包含 2 个整数和 2 个字符串的二维“LatData”数组),任何数据格式提示也值得赞赏。

【问题讨论】:

  • 输入类型不是为了那个......它只是一种用于突变的数据类型...... f.e.没有在 DB 插入上创建 id 字段...语法/用法错误...搜索一些通用 graphql 教程
  • 我重新措辞了问题和示例代码/数据,使其更加简洁。这更有意义吗?

标签: graphql faunadb


【解决方案1】:

解决了问题!我特别需要使用“@embedded”指令来使我的架构看起来像这样:

type LatData @embedded {
    LatResults: [[Int ]] 
    LatResultSize: [Int ] 
}

type AggregateData @embedded { 
    EVRCounter: Int
    EVRLatencyTotal: Int
    EVRLatencyAverage: Float
    LatTestCount: Int
    LatencyTotal: Int
    LatencyAverage: Float 
}

type MetaData @embedded { 
    StartTimeUTC: String
    EndTimeUTC: String
    StartTimeLocal: String
    EndTimeLocal: String 
}

type BenchmarkDataset { 
    LatData: LatData
    AggregateData: AggregateData
    MetaData: MetaData
}

type Query {
  allBenchmarkDatasets: [BenchmarkDataset!]
}

【讨论】:

    猜你喜欢
    • 2019-12-14
    • 1970-01-01
    • 1970-01-01
    • 2020-02-18
    • 1970-01-01
    • 2014-12-31
    • 2012-01-01
    • 1970-01-01
    • 2018-07-26
    相关资源
    最近更新 更多