Creates or drops indexes on MongoDB collections.
Supports multiple index options, i.e. unique, sparse and partial.
Validates existence of indexes by name only.
- indexes (True, list, None)
- List of indexes to create or drop
- replica_set (optional, str, None)
- Replica set to connect to (automatically connects to primary for writes).
- login_user (False, str, None)
The MongoDB user to login with.
Required when login_password is specified.
- login_password (False, str, None)
The password used to authenticate with.
Required when login_user is specified.
- login_database (False, str, admin)
- The database where login credentials are stored.
- login_host (False, str, localhost)
- The host running MongoDB instance to login to.
- login_port (False, int, 27017)
- The MongoDB server port to login to.
- strict_compatibility (optional, bool, True)
- Enforce strict requirements for pymongo and MongoDB software versions
- ssl (False, bool, False)
- Whether to use an SSL connection when connecting to the database.
- ssl_cert_reqs (False, str, CERT_REQUIRED)
- Specifies whether a certificate is required from the other side of the connection, and whether it will be validated if provided.
- ssl_ca_certs (False, str, None)
- The ssl_ca_certs option takes a path to a CA file.
- ssl_crlfile (False, str, None)
- The ssl_crlfile option takes a path to a CRL file.
- ssl_certfile (False, str, None)
- Present a client certificate using the ssl_certfile option.
- ssl_keyfile (False, str, None)
- Private key for the client certificate.
- ssl_pem_passphrase (False, str, None)
- Passphrase to decrypt encrypted private keys.
- auth_mechanism (False, str, None)
- Authentication type.
- connection_options (False, list, None)
Additional connection options.
Supply as a list of dicts or strings containing key value pairs seperated with '='.
Note
- name: Create a single index on a collection community.mongodb.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: Drop an index on a collection community.mongodb.mongodb_index: login_user: admin login_password: secret indexes: - database: mydb collection: test options: name: myindex state: absent - name: Create multiple indexes community.mongodb.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: Add a unique index community.mongodb.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: Add a ttl index community.mongodb.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: Add a sparse index community.mongodb.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: Add a partial index community.mongodb.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: Add a index in the background (background option is deprecated from 4.2+) community.mongodb.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: Check creating 5 index all with multiple options specified community.mongodb.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