init
This commit is contained in:
commit
c5cd492449
475 changed files with 27928 additions and 0 deletions
|
@ -0,0 +1,78 @@
|
|||
# community.mongodb.mongodb
|
||||
The [MongoDB](../../../applications/MongoDB.md) lookup runs the *find()* command on a given *collection* on a given *MongoDB* server.
|
||||
|
||||
The result is a list of jsons, so slightly different from what PyMongo returns. In particular, *timestamps* are converted to epoch integers.
|
||||
|
||||
## Parameters
|
||||
| Parameter | Type | Description |
|
||||
| ------------------ | -------------------- | ----------------------------------------------------------------------------------------- |
|
||||
| **collection** | string / required | Name of the collection which the query will be made |
|
||||
| **connect_string** | string | Can be any valid MongoDB connection string, supporting authentication, replica sets, etc. |
|
||||
| **database** | string / required | Name of the database which the query will be made |
|
||||
| **filter** | dictionary | Criteria of the output |
|
||||
| **limit** | integer | How many results should be shown |
|
||||
| **projection** | dictionary | Fields you want returned |
|
||||
| **skip** | integer | How many results should be skipped |
|
||||
| **sort** | list / elements=list | Sorting rules. |
|
||||
|
||||
## Examples
|
||||
```yml
|
||||
- hosts: localhost
|
||||
gather_facts: false
|
||||
vars:
|
||||
mongodb_parameters:
|
||||
#mandatory parameters
|
||||
database: 'local'
|
||||
collection: "startup_log"
|
||||
#optional
|
||||
connection_string: "mongodb://localhost/"
|
||||
# connection_string: "mongodb://username:password@my.server.com:27017/"
|
||||
# extra_connection_parameters: { "ssl" : True , "ssl_certfile": /etc/self_signed_certificate.pem" }
|
||||
#optional query parameters, we accept any parameter from the normal mongodb query.
|
||||
# filter: { "hostname": "u18" }
|
||||
projection: { "pid": True , "_id" : False , "hostname" : True }
|
||||
skip: 0
|
||||
limit: 1
|
||||
sort: [ [ "startTime" , "ASCENDING" ] , [ "age", "DESCENDING" ] ]
|
||||
tasks:
|
||||
- debug: msg="The PID from MongoDB is {{ lookup('mongodb', mongodb_parameters ).pid }}"
|
||||
|
||||
- debug: msg="The HostName from the MongoDB server is {{ lookup('mongodb', mongodb_parameters ).hostname }}"
|
||||
|
||||
- debug: msg="Mongo DB is stored at {{ lookup('mongodb', mongodb_parameters_inline )}}"
|
||||
vars:
|
||||
mongodb_parameters_inline:
|
||||
database: 'local'
|
||||
collection: "startup_log"
|
||||
connection_string: "mongodb://localhost/"
|
||||
limit: 1
|
||||
projection: { "cmdline.storage": True }
|
||||
|
||||
# lookup syntax, does the same as below
|
||||
- debug: msg="The hostname is {{ item.hostname }} and the pid is {{ item.pid }}"
|
||||
loop: "{{ lookup('mongodb', mongodb_parameters, wantlist=True) }}"
|
||||
|
||||
# query syntax, does the same as above
|
||||
- debug: msg="The hostname is {{ item.hostname }} and the pid is {{ item.pid }}"
|
||||
loop: "{{ query('mongodb', mongodb_parameters) }}"
|
||||
|
||||
- name: "Raw output from the mongodb lookup (a json with pid and hostname )"
|
||||
debug: msg="{{ lookup('mongodb', mongodb_parameters) }}"
|
||||
|
||||
- name: "Yet another mongodb query, now with the parameters on the task itself"
|
||||
debug: msg="pid={{item.pid}} hostname={{item.hostname}} version={{ item.buildinfo.version }}"
|
||||
with_mongodb:
|
||||
- database: 'local'
|
||||
collection: "startup_log"
|
||||
connection_string: "mongodb://localhost/"
|
||||
limit: 1
|
||||
projection: { "pid": True , "hostname": True , "buildinfo.version": True }
|
||||
|
||||
# Please notice this specific query may result more than one result. This is expected
|
||||
- name: "Shows the whole output from mongodb"
|
||||
debug: msg="{{ item }}"
|
||||
with_mongodb:
|
||||
- database: 'local'
|
||||
collection: "startup_log"
|
||||
connection_string: "mongodb://localhost/"
|
||||
```
|
Loading…
Add table
Add a link
Reference in a new issue