- Docs »
- community.mongodb.mongodb_shell – Run commands via the MongoDB shell.
-
You are reading the latest community version of the Ansible documentation. Red Hat subscribers, select 2.9 in the version selection to the left for the most recent Red Hat release.
community.mongodb.mongodb_shell – Run commands via the MongoDB shell.
Note
This plugin is part of the community.mongodb collection (version 1.2.1).
To install it use: ansible-galaxy collection install community.mongodb
.
To use it in a playbook, specify: community.mongodb.mongodb_shell
.
Run commands via the MongoDB shell.
Commands provided with the eval parameter or included in a Javascript file.
Attempts to parse returned data into a format that Ansible can use.
The below requirements are needed on the host that executes this module.
Parameter |
Choices/Defaults |
Comments |
additional_args
raw
|
|
Additional arguments to supply to the mongo command.
Supply as key-value pairs.
If the parameter is a valueless flag supply an empty string as the value.
|
db
string
|
Default:
"test"
|
The database to run commands against
|
debug
boolean
|
|
show additional debug info.
|
eval
string
|
|
A MongoDB command to run.
|
file
string
|
|
Path to a file containing MongoDB commands.
|
idempotent
boolean
|
|
Provides a form of pseudo-idempotency to the module.
We perform a hash calculation on the contents of the eval key or the file name provided in the file key.
When the command is first execute a filed called <hash>.success will be created.
The module will not rerun the command if this file exists and idempotent is set to true.
|
login_database
string
|
Default:
"admin"
|
The database where login credentials are stored.
|
login_host
string
|
Default:
"localhost"
|
The host running MongoDB instance to login to.
|
login_password
string
|
|
The password used to authenticate with.
Required when login_user is specified.
|
login_port
integer
|
Default:
27017
|
The MongoDB server port to login to.
|
login_user
string
|
|
The MongoDB user to login with.
Required when login_password is specified.
|
mongo_cmd
string
|
Default:
"mongo"
|
The MongoDB shell command.
|
nodb
boolean
|
|
Specify a non-default encoding for output.
|
norc
boolean
|
|
Prevents the shell from sourcing and evaluating ~/.mongorc.js on start up.
|
quiet
boolean
|
|
Silences output from the shell during the connection process..
|
split_char
string
|
Default:
" "
|
Used by the split action in the transform stage.
|
stringify
boolean
|
|
Wraps the command in eval in JSON.stringify(<js cmd>).
Useful for escaping documents that are returned in Extended JSON format.
|
transform
string
|
Choices:
auto ←
- split
- json
- raw
|
Transform the output returned to the user.
auto - Attempt to automatically decide the best tranformation.
split - Split output on a character.
json - parse as json.
raw - Return the raw output.
|
- name: Run the listDatabases command
community.mongodb.mongodb_shell:
login_user: user
login_password: secret
eval: "db.adminCommand('listDatabases')"
- name: List collections and stringify the output
community.mongodb.mongodb_shell:
login_user: user
login_password: secret
eval: "db.adminCommand('listCollections')"
stringify: yes
- name: Run the showBuiltinRoles command
community.mongodb.mongodb_shell:
login_user: user
login_password: secret
eval: "db.getRoles({showBuiltinRoles: true})"
- name: Run a js file containing MongoDB commands with pseudo-idempotency
community.mongodb.mongodb_shell:
login_user: user
login_password: secret
file: "/path/to/mongo/file.js"
idempotent: yes
- name: Provide a couple of additional cmd args
community.mongodb.mongodb_shell:
login_user: user
login_password: secret
eval: "db.adminCommand('listDatabases')"
additional_args:
verbose: True
networkMessageCompressors: "snappy"
Common return values are documented here, the following are the fields unique to this module:
Key |
Returned |
Description |
changed
boolean
|
always |
Change status.
|
err
string
|
when debug is set to true |
Raw stderr from mongo.
|
failed
boolean
|
on failure |
Something went wrong.
|
file
string
|
When a js file is used. |
JS file that was executed successfully.
|
msg
string
|
always |
A message indicating what has happened.
|
out
string
|
when debug is set to true |
Raw stdout from mongo.
|
rc
integer
|
when debug is set to true |
Return code from mongo.
|
transformed_output
list
/ elements=string
|
on success |
Output from the mongo command. We attempt to parse this into a list or json where possible.
|