Hasuraは、GraphQLスキーマにPostGISのサポートを組み込んでいます。フィールドはすでにgeography
タイプであるため 、関数は必要ありません。
Hasuraでは、offers
間の関係を作成する必要があります およびaddress
テーブル、およびGraphQLクエリは次のようになります:
query nearby_offers($point: geography!) {
offers(where: {address: {location: {_st_d_within: {distance: 200000, from: $point}}}}) {
id
offer_fields
address {
location
}
}
}
Hasuraの地理タイプは、値がGEOJSON
にあることを想定しています。 フォーマット。変数$point
は次のようになります 次のようになります:
{
"point": {
"type" : "Point",
"coordinates": [longitude, latitude]
}
}
値を挿入するとき(ミューテーション)、同じタイプの変数(GEOJSON)が必要です。