【问题标题】:How to format data to algolia如何将数据格式化为 algolia
【发布时间】:2020-12-31 16:35:43
【问题描述】:

我正在学习如何使用 Algolia,我有几个问题。

我有表 FreightDriver,它与表 Truck 有关系 one to many

id: ID!
name: String!
email: String!
phoneNumber: String!
cities: [String!]!
state: String!
country: String!
picture: String
trucks: [Truck] @connection(keyName: "byFreightDriver", fields: ["id"])

然后是表 Truck,它与表 FreightDriver 有关系 one to one,还有另一个表,即 Box one to one

id: ID!
freightDriverId: ID!
boxId: ID!
brand: String!
model: String!
yearModel: Int!
// and more fields
freightDriver: FreightDriver @connection(fields: ["freightDriverId"])
box: Box @connection(fields: ["boxId"])

和表框:

id: ID!
type: String!
width: Float!
height: Float!
depth: Float!

我想根据 FreightDrivers 所在的州和城市查找卡车,并且(如果用户需要)还根据卡车的箱子类型和品牌或型号查找(仅作为示例)。

按州和城市查找货运司机的示例:

{
  "data": {
    "freightDriversByState": {
      "items": [
        {
          "name": "Andrés Montoya",
          "cities": [
            "GUADALAJARA"
          ],
          "state": "JALISCO",
          "country": "MX",
          "trucks": {
            "items": [
              {
                "brand": "chevrolet",
                "model": "12",
                "yearModel": 2020,
                "box": {
                  "type": "Ganadera",
                  "width": 1,
                  "height": 2,
                  "depth": 3
                }
              },
              {
                "brand": "chevrolet",
                "model": "12",
                "yearModel": 2020,
                "box": {
                  "type": "Seca (abierta)",
                  "width": 12,
                  "height": 12,
                  "depth": 12
                }
              },
              {
                "brand": "chevrolet",
                "model": "12",
                "yearModel": 2020,
                "box": {
                  "type": "Seca (abierta)",
                  "width": 12,
                  "height": 12,
                  "depth": 12
                }
              },
              {
                "brand": "chevrolet",
                "model": "Semi",
                "yearModel": 2020,
                "box": {
                  "type": "Seca (abierta)",
                  "width": 1,
                  "height": 2,
                  "depth": 3
                }
              },
              {
                "brand": "chevrolet",
                "model": "12",
                "yearModel": 2020,
                "box": {
                  "type": "Seca (abierta)",
                  "width": 1,
                  "height": 2,
                  "depth": 3
                }
              },
              {
                "brand": "chevrolet",
                "model": "12",
                "yearModel": 2020,
                "box": {
                  "type": "Volcadora",
                  "width": 1,
                  "height": 2,
                  "depth": 3
                }
              },
              {
                "brand": "hola",
                "model": "12",
                "yearModel": 12,
                "box": {
                  "type": "Plataforma",
                  "width": 1,
                  "height": 2,
                  "depth": 3
                }
              },
              {
                "brand": "Ford",
                "model": "12",
                "yearModel": 2020,
                "box": {
                  "type": "Seca (abierta)",
                  "width": 1,
                  "height": 2,
                  "depth": 1
                }
              },
              {
                "brand": "dasdas",
                "model": "12",
                "yearModel": 12231,
                "box": {
                  "type": "Grúa",
                  "width": 1,
                  "height": 2,
                  "depth": 3
                }
              },
              {
                "brand": "Tesla",
                "model": "Semi",
                "yearModel": 2020,
                "box": {
                  "type": "Seca (abierta)",
                  "width": 4,
                  "height": 4,
                  "depth": 2
                }
              }
            ]
          }
        },
        {
          "name": "Roberto mendez",
          "cities": [
            "GUADALAJARA"
          ],
          "state": "JALISCO",
          "country": "MX",
          "trucks": {
            "items": []
          }
        },
        {
          "name": "Fletes Jalisco Sa de Cv ",
          "cities": [
            "GUADALAJARA"
          ],
          "state": "JALISCO",
          "country": "MX",
          "trucks": {
            "items": [
              {
                "brand": "Ford",
                "model": "F-450",
                "yearModel": 2018,
                "box": {
                  "type": "Seca (cerrada)",
                  "width": 2.7,
                  "height": 2.5,
                  "depth": 4.5
                }
              },
              {
                "brand": "Hiundai",
                "model": "H100",
                "yearModel": 2009,
                "box": {
                  "type": "Seca (abierta)",
                  "width": 2.3,
                  "height": 2,
                  "depth": 4
                }
              },
              {
                "brand": "Hiundai",
                "model": "H100",
                "yearModel": 2020,
                "box": {
                  "type": "Seca (abierta)",
                  "width": 2.35,
                  "height": 2,
                  "depth": 3
                }
              },
              {
                "brand": "Ford",
                "model": "F-450",
                "yearModel": 2018,
                "box": {
                  "type": "Seca (cerrada)",
                  "width": 2.7,
                  "height": 2.2,
                  "depth": 3
                }
              },
              {
                "brand": "Ford",
                "model": "F-450",
                "yearModel": 2004,
                "box": {
                  "type": "Seca (abierta)",
                  "width": 2.5,
                  "height": 2,
                  "depth": 3
                }
              }
            ]
          }
        },
        {
          "name": "Cotransport",
          "cities": [
            "GUADALAJARA"
          ],
          "state": "JALISCO",
          "country": "MX",
          "trucks": {
            "items": [
              {
                "brand": "Chevrolet",
                "model": "CX-5",
                "yearModel": 2019,
                "box": {
                  "type": "Seca (cerrada)",
                  "width": 4,
                  "height": 3,
                  "depth": 4
                }
              }
            ]
          }
        },
        {
          "name": "Andrés",
          "cities": [
            "EL LIMÓN",
            "MAGDALENA",
            "SANTA MARÍA DEL ORO",
            "GUADALAJARA",
            "ETZATLÁN"
          ],
          "state": "JALISCO",
          "country": "MX",
          "trucks": {
            "items": [
              {
                "brand": "chevrolet",
                "model": "12",
                "yearModel": 2020,
                "box": {
                  "type": "Seca (abierta)",
                  "width": 1,
                  "height": 2,
                  "depth": 3
                }
              }
            ]
          }
        }
      ]
    }
  }
}

但是,如果我想使用货运司机的州和城市、箱子的类型以及卡车的型号或品牌来查找,那就是问题所在,因为我使用的是 Dynamodb 而这个没有有关系,所以,获得准确的数据有点棘手。这就是我想使用 Algolia 的原因,但在这种情况下,如何格式化 Algolia 的数据?我需要做什么?谢谢!

【问题讨论】:

    标签: amazon-dynamodb algolia


    【解决方案1】:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-21
      • 1970-01-01
      • 2019-07-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-08
      • 2018-06-15
      • 1970-01-01
      相关资源
      最近更新 更多