On this page本页内容
db.collection.unhideIndex()
This is a mongosh
method. This is not the documentation for Node.js
or other programming language specific driver methods.
In most cases, mongosh
methods work the same way as the legacy mongo
shell methods. However, some legacy methods are unavailable in mongosh
.
For the legacy mongo
shell documentation, refer to the documentation for the corresponding MongoDB Server release:
For MongoDB API drivers, refer to the language specific MongoDB driver documentation.
Unhides an existing index from the query planner. Once unhidden, the indexes are immediately available for use.从查询计划器中取消隐藏现有索引。一旦取消隐藏,索引就可以立即使用。
db.collection.unhideIndex(<index>)
The db.collection.unhideIndex()
method takes the following parameter:db.collection.unhideIndex()
方法采用以下参数:
index | string or document |
|
The db.collection.unhideIndex()
is a mongo
shell wrapper for the collMod
command.db.collection.unhideIndex()
是collMod
命令的mongo
shell包装器。
Unhiding a hidden index resets its 取消隐藏隐藏索引将重置其$indexStats
.$indexStats
。
Unhiding an already unhidden index has no effect on the index. 取消隐藏已取消隐藏的索引对索引没有影响。However, the operation will still generate an empty oplog entry.但是,该操作仍将生成一个空的oplog条目。
If the deployment enforces authentication/authorization, you must have the 如果部署强制认证/授权,则必须在集合的数据库中拥有collMod
privilege in the collection's database.collMod
权限。
The built-in role 内置角色dbAdmin
provides the required privileges.dbAdmin
提供所需的权限。
The following example unhides an existing index.以下示例取消隐藏现有索引。
First, use 首先,使用db.collection.createIndex()
to create a hidden index:db.collection.createIndex()
创建隐藏索引:
db.restaurants.createIndex( { borough: 1, ratings: 1 }, { hidden: true } );
To verify, run 要进行验证,请对db.collection.getIndexes()
on the restaurants
collection:restaurants
集合运行db.collection.getIndexes()
:
db.restaurants.getIndexes();
The operation returns the following information:该操作返回以下信息:
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" }, { "v" : 2, "key" : { "borough" : 1, "ratings" : 1 }, "name" : "borough_1_ratings_1", "hidden" : true } ]
The index option 只有当值为hidden
is only returned if the value is true
.true
时,才会返回hidden
的索引选项。
To unhide the index, you can specify either the index key specification document or the index name to the 要取消隐藏索引,可以为db.collection.unhideIndex()
method. db.collection.unhideIndex()
方法指定索引键规范文档或索引名称。The following specifies the index name:以下内容指定索引名称:
db.restaurants.unhideIndex( "borough_1_ratings_1" );
To verify, run 要进行验证,请对db.collection.getIndexes()
on the restaurants
collection:restaurants
集合运行db.collection.getIndexes()
:
db.restaurants.getIndexes()
The operation returns the following information:该操作返回以下信息:
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" }, { "v" : 2, "key" : { "borough" : 1, "ratings" : 1 }, "name" : "borough_1_ratings_1" } ]
The index option 索引选项hidden
no longer appears as part of the borough_1_ratings_1
index since the field is only returned if the value is true
.hidden
不再显示为borough_1_ratings_1
索引的一部分,因为该字段仅在值为true
时返回。