$bit(位运算更新)

最后更新:2026-10-09

$bit(位运算更新)

$bit 对整数字段执行位运算:与(and)、或(or)、异或(xor)。`{ $bit: { flags: { and: 254 } } }` 清除最低位。原子执行。字段不存在时不会自动创建,会报错。适合用位掩码紧凑存储权限、状态标志的场景,配合 $bits* 查询操作符使用。

分类更新数组
MongoDB 版本1.0+
示例语言mongosh (Shell)

📝 语法

{ $bit: { <字段>: { and: <值> | or: <值> | xor: <值> } } }

⚙️ 参数

字段要执行位运算的整数字段名。
位运算and、or、xor 之一,值为位掩码。

返回值:更新结果文档

▶ 示例

请在本地安装的 mongosh 中执行以下命令(需已启动 mongod):

// $bit:与运算清除最低位
// 254 的二进制是 11111110
db.users.updateOne(
  { _id: 1 },
  { $bit: { flags: { and: 254 } } }
)

// 或运算设置第 0 位
db.users.updateOne(
  { _id: 1 },
  { $bit: { flags: { or: 1 } } }
)

运行结果:

// flags 最低位被清除;第二个示例设置第 0 位

📌 注意事项

更多实战案例即将上线,敬请期待。

📚 相关教程

❓ 常见问题

Q$bit 支持哪些运算?
A与(and)、或(or)、异或(xor)。
Q$bit 字段不存在会怎样?
A不会自动创建,直接报错;需先用 $set 初始化。
Q怎么设置或清除某一位?
A设置用 or: 1 左移 n 位;清除用 and: 对 1 左移 n 位取反。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏