2

私のMySQLデータベースにはいくつかの列(infectedおよび)があり、 .absenceTINYINT(1)

私が簡単なことをするとき

app.get("/users", (req, res) => {
  const sql = `SELECT * from users`;
  connection.query(sql, (err, results) => {
    if (err) {
      return res.send(err);
    } else {
      return res.json({ results });
    }
  });
});

私のバックエンドと

  useEffect(() => {
    axios
      .get(`${config.server}/users`)
      .then((result) => {
        setUsers(result.data.results);
      })
      .catch((error) => console.error(error));
  }, [setUsers]);

私のReactJSフロントエンドでは、次のようなことはできません:

users.filter((u) => u.infected);

それだけ

users.filter((u) => u.infected === 1);

は働いている。

users.filter((u) => u.infected);私にとってはより直感的に使用できるので、知りたいのですが、これをベストプラクティスでどのように処理できますか?

  1. 値を別の型に格納する必要がありますか?
  2. 別の方法で値を選択する必要がありますか?
  3. クエリを実行した後、値を 1 から TRUE に、0 から FALSE に変換する必要がありますか?
  4. get リクエストの後にフロントエンドで値を変換する必要がありますか?

私のフロントエンドはすでにあらゆる場所でブール値を期待しているため、これが最善の取引でない限り、4. の使用は避けようとしています (データベースを MySQL に切り替えました)。

4

1 に答える 1