都市群をNestJSでフィルタリングしてみる


実際、JavaScriptスキルですが、NestJSでどのようにフィルタリングするか
GraphQLで必要な情報を取得するプロセスを確認します.この例では、試行/都市/都市をフィルタします.

1.必要なデータベースのみをインポートし、重複する必要はありません。


条件:前端固定都市の場合、九郡、東のみ抽出

どうして?


領域出力に基づいて選択ボックスを作成します.

1.使用するロジック


Pythonと違ってJavaScriptにはsetがありません.したがって、他の方法で重複値を除去し、新しい配列を作成します.
  • の一時的な空のオブジェクトを作成します.
  • forEachを使用して重複値を除去します.
  • の後、ディック・シャナリーの形で作成した後、キー値だけを配列に置く.
  • 2.コード;上のコード分析を参照してください

    const tempObj = {};
    const nextSafeRate = [];
    safeRate.forEach(({gunGu}) => {
     if (!tempObj[gunGu]) {
      tempObj[gunGu] = true;
      }
    });
    Object.keys(tempObj).forEach(key => {
    nextSafeRate.push({"gunGu": key});
    })

    3.結果


    江原道(カンウォンド)で
  • の試みが行われた時は、
  • の試みだけが行われた.
  • 江陵市を使う時、東、面を
  • に出させます
  • フロントエンドおよび受信結果
  • 2.ゾーンデータを順番に抽出する


    条件:画面上の値で条件を表示するエリアデータを、特定の条件->ソウル特別市->区->区->洞のように作成します.

    1.試行

  • Where節を使って順番検索を試みた.失敗したのは、orを使えば特定の条件、特定の時点のすべてのデータが現れるからだ(私はソウルだけを選びたいが、大邱もある).
  • where関連コメントリンク

    2.成功:ifの使用

  • 反論理を記述する理由:以前Python問題の解答で感じたように、一番上にある値をフィルタリングすると、すべての値がその値から計算されるので、小数から計算されます.
  • 3.コード

    if(port && siDo && gunGu && dong){
                        const safeRate = await this.saferate.find({port, siDo, gunGu, dong});
                        return {
                            ok: true,
                            safeRate
                        }
                        }
                    if(port && siDo && gunGu){
                        const safeRate = await this.saferate.find({port, siDo, gunGu});
                        return {
                            ok: true,
                            safeRate
                        }
                        }
                    if(port && siDo){
                        const safeRate = await this.saferate.find({port, siDo});
                        return {
                            ok: true,
                            safeRate
                        }
                        }
                    if(port){
                        const safeRate = await this.saferate.find({port});
                        return {
                            ok: true,
                            safeRate
                            } 
                        }

    4.結果

  • ここで、東、軍区、順番に外してみると、私が検索した量だけ検索します.