String(字符串)

最后更新:2026-10-09

String(字符串)

String是MongoDB最常用的字段类型,存储UTF-8编码文本。查询用`$eq`、`$regex`精确/模式匹配,全文搜索需先建text索引再用`$text`。注意:把数字、日期存成字符串后,范围比较和排序按字典序而非数值序(如'9'大于'10'),会导致错误结果。

分类BSON 类型
MongoDB 版本1.0+
示例语言mongosh (Shell)

📝 语法

{ name: "apple" }
{ name: { $regex: "^app" } }
db.articles.find({ $text: { $search: "mongodb" } })

返回值:字符串值本身;查询时返回匹配的文档

▶ 示例

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

// String:正则与全文搜索
use shop
db.users.find({ email: { $regex: '@example\\.com$' } })
db.articles.find({ $text: { $search: 'mongodb indexing' } })

运行结果:

// 返回邮箱以@example.com结尾的用户,以及正文含mongodb/indexing的文章

📌 注意事项

📚 相关教程

❓ 常见问题

QString和ObjectId什么时候用?
A业务标识(外部ID、订单号)用String;需要自动唯一且按时间排序的用ObjectId。
Q字符串能建索引吗?
A可以。普通索引用于等值与范围匹配,text索引用于全文搜索。
Q为什么'9'比'10'大?
A字符串按字典序逐字符比较,'9'的字符码大于'1',所以'9'排在'10'后面。
Web-Tutorial.com

Web-Tutorial 技术团队

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

100%

🙏 帮我们做得更好

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

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