community.mongodb.mongodb_index 模块 – 在 MongoDB 集合上创建或删除索引。
注意
此模块是 community.mongodb 集合 (版本 1.7.8) 的一部分。
如果您使用的是 ansible
包,则可能已经安装了此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用: ansible-galaxy collection install community.mongodb
。您需要其他要求才能使用此模块,请参阅 要求 以了解详细信息。
要在 playbook 中使用它,请指定: community.mongodb.mongodb_index
。
community.mongodb 1.0.0 中的新增功能
概要
在 MongoDB 集合上创建或删除索引。
支持多个索引选项,例如唯一、稀疏和部分索引。
仅通过名称验证索引是否存在。
要求
在执行此模块的主机上需要以下要求。
pymongo
参数
参数 |
注释 |
---|---|
用于 MongoDB Atlas 实例的认证路径 选项
|
|
身份验证类型。 选项
|
|
附加连接选项。 以字典或字符串列表的形式提供,键值对用’=’分隔。 |
|
要创建或删除的索引列表 |
|
存储登录凭据的数据库。 默认值: |
|
运行要登录的 MongoDB 实例的主机。 默认值: |
|
用于身份验证的密码。 当指定了 *login_user* 时为必填。 |
|
要登录的 MongoDB 服务器端口。 默认值: |
|
要登录的 MongoDB 用户。 当指定了 *login_password* 时为必填。 |
|
要连接到的副本集(自动连接到主节点以进行写入)。 |
|
连接到数据库时是否使用 SSL 连接。 选项
|
|
ssl_ca_certs 选项接受 CA 文件的路径。 |
|
指定是否需要连接另一端的证书,以及如果提供证书是否会进行验证。 选项
|
|
使用 ssl_certfile 选项提供客户端证书。 |
|
ssl_crlfile 选项接受 CRL 文件的路径。 |
|
客户端证书的私钥。 |
|
解密加密私钥的密码。 |
|
强制执行 pymongo 和 MongoDB 软件版本的严格要求 选项
|
备注
注意
远程主机上需要 pymongo Python 包,版本 4+。
示例
- 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
返回值
常见返回值已记录在 此处,以下是此模块特有的字段
键 |
描述 |
---|---|
指示模块已更改某些内容。 返回值:当模块已更改某些内容时。 |
|
指示模块已失败。 返回值:当模块遇到错误时。 |
|
已创建的索引列表。 返回值:始终 示例: |
|
已删除的索引列表。 返回值:始终 示例: |