mongo创建索引

use xxx_db;

db.collection.createIndex( keys, options ) == db.表名.createIndex( keys, options )

createIndex() 方法基本语法格式如下所示:

db:数据库的引用。
collection:集合的名称,表名。
keys:一个对象,指定了字段名和索引的排序方向(1 表示升序,-1 表示降序)。
options:一个可选参数,可以包含索引的额外选项。
options 参数是一个对象,可以包含多种配置选项,以下是一些常用的选项:
unique:如果设置为 true,则创建唯一索引,确保索引字段的值在集合中是唯一的。
background:如果设置为 true,则索引创建过程在后台运行,不影响其他数据库操作。
name:指定索引的名称,如果不指定,MongoDB 会根据索引的字段自动生成一个名称。
sparse:如果设置为 true,创建稀疏索引,只索引那些包含索引字段的文档。
expireAfterSeconds:设置索引字段的过期时间,MongoDB 将自动删除过期的文档。
v:索引版本,通常不需要手动设置。
weights:为文本索引指定权重。

示例

// 创建 age 字段的升序索引
db.myCollection.createIndex({ age: 1 });

// 创建 name 字段的文本索引
db.myCollection.createIndex({ name: "text" });

// 创建唯一索引
db.collection.createIndex( { field: 1 }, { unique: true } )

//复合索引
db.collection.createIndex({ "field1": 1, "field2": -1 }); // field1升序,field2降序

// 创建后台运行的索引
db.collection.createIndex( { field: 1 }, { background: true } )

// 创建稀疏索引
db.collection.createIndex( { field: 1 }, { sparse: true } )

// 创建文本索引并指定权重
db.collection.createIndex( { field: "text" }, { weights: { field: 10 } } )

//创建哈希索引
db.collection.createIndex( { field: "hashed" } )

查看索引

db.collection.getIndexes()

删除

// 删除指定的索引
db.collection.dropIndex( "indexName" )

// 删除所有索引
db.collection.dropIndexes()
posted @ 2024-10-16 17:09  朝阳1  阅读(79)  评论(0编辑  收藏  举报