$toBool(转布尔值)
最后更新:2026-10-09
$toBool(转布尔值)
$toBool 把值转换为布尔值。数字 0 转 false、非 0 数字转 true;字符串 'true'/'false' 可转换;日期转 true;null 返回 null。典型场景包括把接口下发的 0/1 标记统一成布尔字段、规范数据模型的真假表示。它是 $convert 的 to: bool 快捷写法,但没有 onError 兜底,转换非法值会报错。
| 分类 | 集合·条件·转换 |
|---|---|
| MongoDB 版本 | 1.0+ |
| 示例语言 | mongosh (Shell) |
📝 语法
{ $toBool: <表达式> }
⚙️ 参数
| 表达式 | 要转换的值。 |
|---|
返回值:布尔值;输入为 null 时返回 null
▶ 示例
请在本地安装的 mongosh 中执行以下命令(需已启动 mongod):
// $toBool:把 0/1 标记转成布尔
db.devices.aggregate([
{ $project: {
active: { $toBool: '$enabled' }
} }
])
运行结果:
{ '_id': 1, 'active': true }
{ '_id': 2, 'active': false }
📌 注意事项
- 0 转 false,非 0 转 true;字符串 '0' 转 true
- null 输入返回 null,不是 false
- 转换不支持的类型会报错,可用 $convert onError 兜底
🏷️ 相关标签
💡 相关案例
更多实战案例即将上线,敬请期待。
📚 相关教程
❓ 常见问题
Q数字 0 转成什么?
A转成 false;非 0 数字转 true。
Q字符串能转吗?
A'true'/'false' 可以,其他字符串报错。
Qnull 返回什么?
A返回 null 本身,不是 false。