温馨提示×

debian mongodb索引怎么建

小樊
46
2026-10-22 23:16:57
栏目: 云计算

在 Debian 上,MongoDB 建索引的方式和 Linux 其他发行版完全一样,因为索引是 MongoDB 本身的功能,和操作系统无关。下面从「安装 → 连接 → 建索引 → 查看/删除」一步步说明。


一、Debian 上连接 MongoDB

1. 本地连接

mongo

或(新版本)

mongosh

2. 远程连接

mongosh "mongodb://user:password@host:27017/dbname"

二、选择数据库和集合

use testdb
db.users.find().limit(1)

三、创建索引(核心)

1️⃣ 单字段索引

db.users.createIndex({ username: 1 })
  • 1 升序
  • -1 降序

2️⃣ 复合索引(多字段)

db.users.createIndex({ age: 1, name: -1 })

3️⃣ 唯一索引

db.users.createIndex({ email: 1 }, { unique: true })

4️⃣ 后台创建索引(推荐生产环境)

db.users.createIndex({ name: 1 }, { background: true })

5️⃣ 文本索引(全文搜索)

db.articles.createIndex({ content: "text" })

6️⃣ TTL 索引(自动过期)

db.logs.createIndex(
  { createdAt: 1 },
  { expireAfterSeconds: 3600 }
)

四、查看索引

db.users.getIndexes()

五、删除索引

按索引名删除

db.users.dropIndex("username_1")

删除全部索引(⚠️ 保留 _id)

db.users.dropIndexes()

六、Debian 上常见注意事项

✅ MongoDB 版本

mongod --version

✅ 生产环境建议

  • 大表建索引用 background: true
  • 建索引前评估内存
  • 使用 explain() 分析索引是否生效
db.users.find({ age: 20 }).explain("executionStats")

七、示例完整流程

use shop
db.products.createIndex({ category: 1, price: -1 }, { background: true })
db.products.getIndexes()

如果你愿意,可以告诉我:

  • MongoDB 版本
  • 表结构
  • 查询场景(如按时间、按用户、模糊搜索)

我可以帮你设计最合适的索引方案。

0 踩