MongoDB Index
4 min
Resumo
- Cria ou elimina índices em coleções MongoDB.
- Suporta várias opções de índice, ou seja, exclusivo, esparso e parcial.
- Valida a existência de índices apenas por nome.
Parâmetros
Parâmetro | Tipo | Escolhas | Valores padrão | Comentários |
|---|---|---|---|
indexes | list | | Lista de índices para criar ou eliminar |
replica_set | string | | Conjunto de réplicas ao qual conectar (se conecta automaticamente ao primário para gravações). |
Extende fragmentos da documentação do módulo MongoDB Login options e MongoDB SSL options.
Exemplos
- name: Cria um índice em uma coleção
mongodb_index:
login_user: admin
login_password: secret
indexes:
- database: mydb
collection: test
keys:
- username: 1
last_login: -1
options:
name: myindex
state: present
- name: Elimina um índice em uma coleção
mongodb_index:
login_user: admin
login_password: secret
indexes:
- database: mydb
collection: test
options:
name: myindex
state: absent
- name: Cria vários índices
mongodb_index:
login_user: admin
login_password: secret
indexes:
- database: mydb
collection: test
keys:
- username: 1
last_login: -1
options:
name: myindex
state: present
- database: mydb
collection: test
keys:
- email: 1
last_login: -1
options:
name: myindex2
state: present
- name: Adiciona um índice exclusivo
mongodb_index:
login_port: 27017
login_user: admin
login_password: secret
login_database: "admin"
indexes:
- database: "test"
collection: "rhys"
keys:
username: 1
options:
name: myuniqueindex
unique: true
state: present
- name: Adiciona um índice ttl
mongodb_index:
login_port: 27017
login_user: admin
login_password: secret
login_database: "admin"
indexes:
- database: "test"
collection: "rhys"
keys:
created: 1
options:
name: myttlindex
expireAfterSeconds: 3600
state: present
- name: Adiciona um índice esparso
mongodb_index:
login_port: 27017
login_user: admin
login_password: secret
login_database: "admin"
indexes:
- database: "test"
collection: "rhys"
keys:
last_login: -1
options:
name: mysparseindex
sparse: true
state: present
- name: Adiciona um índice parcial
mongodb_index:
login_port: 27017
login_user: admin
login_password: secret
login_database: "admin"
indexes:
- database: "test"
collection: "rhys"
keys:
last_login: -1
options:
name: mypartialindex
partialFilterExpression:
rating:
$gt: 5
state: present
- name: Adiciona um índice em segundo plano (a opção de segundo plano está obsoleta da versão 4.2+)
mongodb_index:
login_port: 27017
login_user: admin
login_password: secret
login_database: "admin"
indexes:
- database: "test"
collection: "rhys"
options:
name: idxbackground
keys:
username: -1
backgroud: true
state: present
- name: Verifica a criação de 5 índices, todos com opções especificadas
mongodb_index:
login_port: 27017
login_user: admin
login_password: secret
login_database: "admin"
indexes:
- database: "test"
collection: "indextest"
options:
name: "idx_unq_username"
unique: true
keys:
username: -1
state: present
- database: "test"
collection: "indextest"
options:
name: "idx_last_login"
sparse: true
keys:
last_login: -1
state: present
- database: "test"
collection: "indextest"
options:
name: "myindex"
keys:
first_name: 1
last_name: -1
city: 1
state: present
- database: "test"
collection: partialtest
options:
name: "idx_partialtest"
partialFilterExpression:
rating:
$gt: 5
keys:
rating: -1
title: 1
state: present
- database: "test"
collection: "wideindex"
options:
name: "mywideindex"
keys:
email: -1
username: 1
first_name: 1
last_name: 1
dob: -1
city: 1
last_login: -1
review_count: 1
rating_count: 1
last_post: -1
state: present
Valores retornados
Chave | Tipo | Retornado quando | Descrição |
|---|---|---|---|
changed | boolean | Quando o módulo sofreu alterações. | Indica que o módulo mudou alguma coisa. |
failed | boolean | Quando o módulo encontrou um erro. | Indica que o módulo falhou. |
indexes_created | list | always | Lista de índices criados. Sample: ['myindex', 'myindex2'] |
indexes_dropped | list | always | Lista de índices eliminados. Sample: ['myindex', 'myindex2'] |