温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

mongodb如何建立索引

发布时间:2026-11-07 20:43:46 来源:亿速云 阅读:101 作者:小樊 栏目:数据库

在 MongoDB 中,建立索引主要通过 createIndex() 方法(旧版本为 ensureIndex(),已弃用)。下面按常见场景给你说明。


一、基本语法

db.collection.createIndex(keys, options)
  • keys:指定要索引的字段及排序方式
    • 1 表示升序
    • -1 表示降序
  • options:索引选项(可选)

二、常见索引类型示例

1️⃣ 单字段索引

db.users.createIndex({ username: 1 })

2️⃣ 复合索引

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

常用于多条件查询,注意字段顺序

3️⃣ 唯一索引(防止重复)

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

4️⃣ 哈希索引

db.users.createIndex({ _id: "hashed" })

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

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

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

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

7️⃣ 部分索引(只索引部分数据)

db.orders.createIndex(
  { status: 1 },
  { partialFilterExpression: { status: "active" } }
)

三、查看索引

db.collection.getIndexes()

四、删除索引

db.collection.dropIndex("index_name")
db.collection.dropIndexes()

五、后台创建索引(生产环境推荐)

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

MongoDB 4.2+ 默认后台构建,无需显式指定


六、注意事项

  • 索引会占用磁盘和内存
  • 写多读少的集合要谨慎建索引
  • 复合索引遵循 最左前缀原则
  • 可用 explain() 分析索引是否生效

如果你有 具体集合结构或查询语句,我可以帮你设计更合适的索引方案。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手