mongo创建index

24 阅读10分钟

平时工作中的笔记整理,废话不多说。兄弟们,直接上干货

一、背景




二、准备

  1. mongo集群信息

http://172.20.171.9:8090/pages/viewpage.action?pageId=1574888




三、操作

  1. 连接mongo服务

# 
# OCS mongo主节点
mongo --port 27017 -u root -p 'root@Yumc' --authenticationDatabase admin --host 172.21.39.172

2. ## 切换业务库sorder

# 切换库
use sorder

3. ## 查询表信息

# 查询所有表
show tables

4. ## 选择表

# 以下表需要创建index 
preOrder|2023-10-10                                                                                                          
preOrder|2023-10-11                                                                                                          
preOrder|2023-10-12                                                                                                          
preOrder|2023-10-13                                                                                                          
preOrder|2023-10-14                                                                                                          
preOrder|2023-10-15                                                                                                          
preOrder|2023-10-16                                                                                                          
preOrder|2023-10-17                                                                                                          
preOrder|2023-10-18                                                                                                          
preOrder|2023-10-19                                                                                                          
preOrder|2023-10-20                                                                                                          
preOrder|2023-10-21                                                                                                          
preOrder|2023-10-22                                                                                                          
preOrder|2023-10-23                                                                                                          
preOrder|2023-10-24                                                                                                          
preOrder|2023-10-25                                                                                                          
preOrder|2023-10-26                                                                                                          
preOrder|2023-10-27                                                                                                          
preOrder|2023-10-28                                                                                                          
preOrder|2023-10-29                                                                                                          
preOrder|2023-10-30                                                                                                          
preOrder|2023-10-31                                                                                                          
preOrder|2023-11-01                                                                                                          
preOrder|2023-11-02                                                                                                          
preOrder|2023-11-03                                                                                                          
preOrder|2023-11-04                                                                                                          
preOrder|2023-11-05                                                                                                          
preOrder|2023-11-06                                                                                                          
preOrder|2023-11-07                                                                                                          
preOrder|2023-11-08                                                                                                          
preOrder|2023-11-09                                                                                                          
preOrder|2023-11-10                                                                                                          
preOrder|2023-11-11                                                                                                          
preOrder|2023-11-12                                                                                                          
preOrder|2023-11-13                                                                                                          
preOrder|2023-11-14                                                                                                          
preOrder|2023-11-15                                                                                                          
preOrder|2023-11-16                                                                                                          
preOrder|2023-11-17                                                                                                          
preOrder|2023-11-18                                                                                                          
preOrder|2023-11-19                                                                                                          
preOrder|2023-11-20                                                                                                          
preOrder|2023-11-21                                                                                                          
preOrder|2023-11-22                                                                                                          
preOrder|2023-11-23                                                                                                          
preOrder|2023-11-24                                                                                                          
preOrder|2023-11-25                                                                                                          
preOrder|2023-11-26                                                                                                          
preOrder|2023-11-27                                                                                                          
preOrder|2023-11-28                                                                                                          
preOrder|2023-11-29                                                                                                          
preOrder|2023-11-30                                                                                                          
preOrder|2023-12-01                                                                                                          
preOrder|2023-12-02                                                                                                          
preOrder|2023-12-03                                                                                                          
preOrder|2023-12-04                                                                                                          
preOrder|2023-12-05                                                                                                          
preOrder|2023-12-06                                                                                                          
preOrder|2023-12-07                                                                                                          
preOrder|2023-12-08                                                                                                          
preOrder|2023-12-09                                                                                                          
preOrder|2023-12-10                                                                                                          
preOrder|2023-12-11                                                                                                          
preOrder|2023-12-12                                                                                                          
preOrder|2023-12-13                                                                                                          
preOrder|2023-12-14                                                                                                          
preOrder|2023-12-15                                                                                                          
preOrder|2023-12-16                                                                                                          
preOrder|2023-12-17                                                                                                          
preOrder|2023-12-18                                                                                                          
preOrder|2023-12-19                                                                                                          
preOrder|2023-12-20                                                                                                          
preOrder|2023-12-21                                                                                                          
preOrder|2023-12-22                                                                                                          
preOrder|2023-12-23                                                                                                          
preOrder|2023-12-24                                                                                                          
preOrder|2023-12-25 

5. ## 查看index信息

# 
db.getCollection('preOrder|2023-10-12').getIndexes()


# 查看 表preOrder|2023-10-12 中的index 信息
oc_keep_mongo_ksprd01:PRIMARY> db.getCollection('preOrder|2023-10-12').getIndexes()                                          
[                                                                                                                            
        {                                                                                                                    
                "v" : 2,                                                                                                     
                "key" : {                                                                                                    
                        "_id" : 1                                                                                            
                },                                                                                                           
                "name" : "_id_",                                                                                             
                "ns" : "sorder.preOrder|2023-10-12"                                                                          
        },                                                                                                                   
        {                                                                                                                    
                "v" : 2,                                                                                                     
                "key" : {                                                                                                    
                        "storeCode" : 1,                                                                                     
                        "reserveTime" : -1                                                                                   
                },                                                                                                           
                "name" : "storeCode",                                                                                        
                "ns" : "sorder.preOrder|2023-10-12"                                                                          
        },                                                                                                                   
        {                                                                                                                    
                "v" : 2,                                                                                                     
                "key" : {                                                                                                    
                        "storeCode" : 1,                                                                                     
                        "orderId" : 1                                                                                        
                },                                                                                                           
                "name" : "storeCodeOrderId",                                                                                 
                "ns" : "sorder.preOrder|2023-10-12"                                                                          
        },                                                                                                                   
        {                                                                                                                    
                "v" : 2,                                                                                                     
                "key" : {                                                                                                    
                        "phoneNumber" : 1                                                                                    
                },                                                                                                           
                "name" : "phoneNumber",                                                                                      
                "ns" : "sorder.preOrder|2023-10-12",                                                                         
                "background" : true                                                                                          
        }                                                                                                                    
]                                                          

6. ## 创建index

# 常见index
db.getCollection('preOrder|2023-10-10').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-10-11').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-10-12').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-10-13').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-10-14').createIndex({ orderId: 1 },{background: true})

db.getCollection('preOrder|2023-10-15').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-10-16').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-10-17').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-10-18').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-10-19').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-10-20').createIndex({ orderId: 1 },{background: true})

db.getCollection('preOrder|2023-10-21').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-10-22').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-10-23').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-10-24').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-10-25').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-10-26').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-10-27').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-10-28').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-10-29').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-10-30').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-10-31').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-11-01').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-11-02').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-11-03').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-11-04').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-11-05').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-11-06').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-11-07').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-11-08').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-11-09').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-11-10').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-11-11').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-11-12').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-11-13').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-11-14').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-11-15').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-11-16').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-11-17').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-11-18').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-11-19').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-11-20').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-11-21').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-11-22').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-11-23').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-11-24').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-11-25').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-11-26').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-11-27').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-11-28').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-11-29').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-11-30').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-12-01').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-12-02').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-12-03').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-12-04').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-12-05').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-12-06').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-12-07').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-12-08').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-12-09').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-12-10').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-12-11').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-12-12').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-12-13').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-12-14').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-12-15').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-12-16').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-12-17').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-12-18').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-12-19').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-12-20').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-12-21').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-12-22').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-12-23').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-12-24').createIndex({ orderId: 1 },{background: true})
db.getCollection('preOrder|2023-12-25').createIndex({ orderId: 1 },{background: true})

说明:创建index 完成

  1. 查看创建index后的信息

# 
# 查看 表preOrder|2023-10-12 中的index 信息,如下标黄的为创建完成的index
oc_keep_mongo_ksprd:PRIMARY> db.getCollection('preOrder|2023-10-12').getIndexes()                                            
[                                                                                                                            
        {                                                                                                                    
                "v" : 2,                                                                                                     
                "key" : {                                                                                                    
                        "_id" : 1                                                                                            
                },                                                                                                           
                "name" : "_id_",                                                                                             
                "ns" : "sorder.preOrder|2023-10-12"                                                                          
        },                                                                                                                   
        {                                                                                                                    
                "v" : 2,                                                                                                     
                "key" : {                                                                                                    
                        "storeCode" : 1,                                                                                     
                        "reserveTime" : -1                                                                                   
                },                                                                                                           
                "name" : "storeCode",                                                                                        
                "ns" : "sorder.preOrder|2023-10-12"                                                                          
        },                                                                                                                   
        {                                                                                                                    
                "v" : 2,                                                                                                     
                "key" : {                                                                                                    
                        "storeCode" : 1,                                                                                     
                        "orderId" : 1                                                                                        
                },                                                                                                           
                "name" : "storeCodeOrderId",                                                                                 
                "ns" : "sorder.preOrder|2023-10-12"                                                                          
        },                                                                                                                   
        {                                                                                                                    
                "v" : 2,                                                                                                     
                "key" : {                                                                                                    
                        "phoneNumber" : 1                                                                                    
                },                                                                                                           
                "name" : "phoneNumber",                                                                                      
                "ns" : "sorder.preOrder|2023-10-12",                                                                         
                "background" : true                                                                                          
        },                                                                                                                   
        {                                                                                                                    
                "v" : 2,                                                                                                     
                "key" : {                                                                                                    
                        "orderId" : 1                                                                                        
                },                                                                                                           
                "name" : "orderId_1",                                                                                        
                "ns" : "sorder.preOrder|2023-10-12",                                                                         
                "background" : true                                                                                          
        }                                                                                                                    
]                                                                                                                            
oc_keep_mongo_ksprd:PRIMARY>     




# 批量检查
db.getCollection('preOrder|2023-10-10').getIndexes()
db.getCollection('preOrder|2023-10-11').getIndexes()
db.getCollection('preOrder|2023-10-12').getIndexes()
db.getCollection('preOrder|2023-10-13').getIndexes()
db.getCollection('preOrder|2023-10-14').getIndexes()
db.getCollection('preOrder|2023-10-15').getIndexes()
db.getCollection('preOrder|2023-10-16').getIndexes()

db.getCollection('preOrder|2023-10-17').getIndexes()
db.getCollection('preOrder|2023-10-18').getIndexes()
db.getCollection('preOrder|2023-10-19').getIndexes()
db.getCollection('preOrder|2023-10-20').getIndexes()

db.getCollection('preOrder|2023-10-21').getIndexes()
db.getCollection('preOrder|2023-10-22').getIndexes()
db.getCollection('preOrder|2023-10-23').getIndexes()
db.getCollection('preOrder|2023-10-24').getIndexes()
db.getCollection('preOrder|2023-10-25').getIndexes()
db.getCollection('preOrder|2023-10-26').getIndexes()
db.getCollection('preOrder|2023-10-27').getIndexes()
db.getCollection('preOrder|2023-10-28').getIndexes()
db.getCollection('preOrder|2023-10-29').getIndexes()
db.getCollection('preOrder|2023-10-30').getIndexes()
db.getCollection('preOrder|2023-10-31').getIndexes()
db.getCollection('preOrder|2023-11-01').getIndexes()
db.getCollection('preOrder|2023-11-02').getIndexes()
db.getCollection('preOrder|2023-11-03').getIndexes()
db.getCollection('preOrder|2023-11-04').getIndexes()
db.getCollection('preOrder|2023-11-05').getIndexes()
db.getCollection('preOrder|2023-11-06').getIndexes()
db.getCollection('preOrder|2023-11-07').getIndexes()
db.getCollection('preOrder|2023-11-08').getIndexes()
db.getCollection('preOrder|2023-11-09').getIndexes()
db.getCollection('preOrder|2023-11-10').getIndexes()
db.getCollection('preOrder|2023-11-11').getIndexes()
db.getCollection('preOrder|2023-11-12').getIndexes()
db.getCollection('preOrder|2023-11-13').getIndexes()
db.getCollection('preOrder|2023-11-14').getIndexes()
db.getCollection('preOrder|2023-11-15').getIndexes()
db.getCollection('preOrder|2023-11-16').getIndexes()
db.getCollection('preOrder|2023-11-17').getIndexes()
db.getCollection('preOrder|2023-11-18').getIndexes()
db.getCollection('preOrder|2023-11-19').getIndexes()
db.getCollection('preOrder|2023-11-20').getIndexes()
db.getCollection('preOrder|2023-11-21').getIndexes()
db.getCollection('preOrder|2023-11-22').getIndexes()
db.getCollection('preOrder|2023-11-23').getIndexes()
db.getCollection('preOrder|2023-11-24').getIndexes()
db.getCollection('preOrder|2023-11-25').getIndexes()
db.getCollection('preOrder|2023-11-26').getIndexes()
db.getCollection('preOrder|2023-11-27').getIndexes()
db.getCollection('preOrder|2023-11-28').getIndexes()
db.getCollection('preOrder|2023-11-29').getIndexes()
db.getCollection('preOrder|2023-11-30').getIndexes()
db.getCollection('preOrder|2023-12-01').getIndexes()
db.getCollection('preOrder|2023-12-02').getIndexes()
db.getCollection('preOrder|2023-12-03').getIndexes()
db.getCollection('preOrder|2023-12-04').getIndexes()
db.getCollection('preOrder|2023-12-05').getIndexes()
db.getCollection('preOrder|2023-12-06').getIndexes()
db.getCollection('preOrder|2023-12-07').getIndexes()
db.getCollection('preOrder|2023-12-08').getIndexes()
db.getCollection('preOrder|2023-12-09').getIndexes()
db.getCollection('preOrder|2023-12-10').getIndexes()
db.getCollection('preOrder|2023-12-11').getIndexes()
db.getCollection('preOrder|2023-12-12').getIndexes()
db.getCollection('preOrder|2023-12-13').getIndexes()
db.getCollection('preOrder|2023-12-14').getIndexes()
db.getCollection('preOrder|2023-12-15').getIndexes()
db.getCollection('preOrder|2023-12-16').getIndexes()
db.getCollection('preOrder|2023-12-17').getIndexes()
db.getCollection('preOrder|2023-12-18').getIndexes()
db.getCollection('preOrder|2023-12-19').getIndexes()
db.getCollection('preOrder|2023-12-20').getIndexes()
db.getCollection('preOrder|2023-12-21').getIndexes()
db.getCollection('preOrder|2023-12-22').getIndexes()
db.getCollection('preOrder|2023-12-23').getIndexes()
db.getCollection('preOrder|2023-12-24').getIndexes()
db.getCollection('preOrder|2023-12-25').getIndexes()

8. ## 完成




四、补充

  1. 表名中带有特殊字符

# 不带特殊字符的
db.user_info.getIndexes()


# 带有特殊字符的
db.getCollection('orderInfo|20231106').getIndexes()

2. ## 查询带有特殊字符的表的index

# 查看index的信息
db.getCollection('orderInfo|20231106').getIndexes()

3. ## 表名中带有特殊字符的表创建index


db.getCollection('orderInfo|20231106').createIndex({ orderId: 1 },{background: true})


# 在 orderId 上创建一个索引,1 表示升序。 降序则使用 -1
# {background: true}:指定在后台完成索引的构建,以提高索引创建的性能。