db.collection.unhideIndex()
On this page本页内容
Definition定义
db.collection.unhideIndex()
- Important
mongosh Method
This page documents a
mongosh
method. This is not the documentation for database commands or language-specific drivers, such as Node.js.For the database command, see the
index.hidden
collection option set using thecollMod
command.For MongoDB API drivers, refer to the language-specific MongoDB driver documentation.
For the legacy
mongo
shell documentation, refer to the documentation for the corresponding MongoDB Server release:Unhides an existing index from the query planner. Once unhidden, the indexes are immediately available for use.取消隐藏查询计划器中的现有索引。一旦取消隐藏,索引就可以立即使用。
Syntax语法
db.collection.unhideIndex(<index>)
Parameters参数
The db.collection.unhideIndex()
method takes the following parameter:db.collection.unhideIndex()
方法采用以下参数:
index | string or document | Tip db.collection.getIndexes() method to find the index name or the index specification document. db.collection.getIndexes() 方法查找索引名称或索引规范文档。text 索引,请指定索引名称。 |
The db.collection.unhideIndex()
is a mongosh
shell wrapper for the collMod
command.db.collection.unhideIndex()
是collMod
命令的mongosh
shell包装器。
Behavior行为
Index Modifications Reset Statistics索引修改重置统计信息
Unhiding a hidden index resets its 取消隐藏隐藏索引将重置其$indexStats
.$indexStats
。
No-op
Unhiding an already unhidden index has no effect on the index. However, the operation will still generate an empty oplog entry.取消隐藏已取消隐藏的索引对索引没有影响。但是,该操作仍然会生成一个空的oplog条目。
Required Access所需访问权限
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
提供所需的权限。
Example实例
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. The following specifies the index name:db.collection.unhideIndex()
方法的索引名称。以下内容指定索引名称:
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
时才会返回该字段。