首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将TINYINT(1)转换成布尔表达式?

如何将TINYINT(1)转换成布尔表达式?
EN

Stack Overflow用户
提问于 2021-04-27 07:29:09
回答 1查看 627关注 0票数 2

我在我的infected数据库中有一些列(absence和MySQL )被存储为TINYINT(1)

当我做一个简单的

代码语言:javascript
复制
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 });
    }
  });
});

在我的后端

代码语言:javascript
复制
  useEffect(() => {
    axios
      .get(`${config.server}/users`)
      .then((result) => {
        setUsers(result.data.results);
      })
      .catch((error) => console.error(error));
  }, [setUsers]);

在我的ReactJS前端,我不能做这样的事情:

代码语言:javascript
复制
users.filter((u) => u.infected);

仅限

代码语言:javascript
复制
users.filter((u) => u.infected === 1);

起作用了。

由于使用users.filter((u) => u.infected);对我来说更直观,我想知道,我如何在最佳实践中处理这个问题?

  1. ,我需要用另一种类型存储我的值吗?
  2. ,我需要以不同的方式选择值吗?
  3. ,在查询它们之后,需要将值从1转换为TRUE,将0转换为FALSE吗?
  4. ,在get请求之后,是否需要转换前端的值?

G 217

我尽量避免使用4。除非这不是最好的交易,因为我的前端已经期望各地都是布尔人(我将数据库切换到MySQL)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-27 07:32:36

尝试使用!!,它们将将值转换为布尔类型。它相当于:Boolean(anyValue)

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67278693

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档