diff --git a/lib/ansible/plugins/lookup/mongodb.py b/lib/ansible/plugins/lookup/mongodb.py
index 08b7a892368..e8d380ba103 100644
--- a/lib/ansible/plugins/lookup/mongodb.py
+++ b/lib/ansible/plugins/lookup/mongodb.py
@@ -15,6 +15,77 @@
#
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see .
+'''
+DOCUMENTATION:
+ author: 'Marcos Diez '
+ lookup: mongodb
+ version_added: "2.3"
+ short_description: lookup info from MongoDB
+ description:
+ - 'The ``MongoDB`` 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.'
+ options:
+ connect_string:
+ description:
+ - "Can be any valid MongoDB connection string, supporting authentication, replicasets, etc. More info at https://docs.mongodb.org/manual/reference/connection-string/"
+ default: "mongodb://localhost/"
+ database:
+ description:
+ - Name of the database which the query will be made
+ required: True
+ collection:
+ description:
+ - Name of the collection which the query will be made
+ required: True
+ filter:
+ description:
+ - Criteria of the output
+ type: 'dict'
+ default: '{}'
+ projection:
+ description:
+ - Fields you want returned
+ type: dict
+ default: "{}"
+ skip:
+ description:
+ - How many results should be skept
+ type: integer
+ limit:
+ description:
+ - How many results should be shown
+ type: integer
+ sort:
+ description:
+ - Sorting rules. Please notice the constats are replaced by strings.
+ type: list
+ default: "[]"
+ notes:
+ - "Please check https://api.mongodb.org/python/current/api/pymongo/collection.html?highlight=find#pymongo.collection.Collection.find for more detais."
+ requirements:
+ - pymongo >= 2.4
+EXAMPLES:
+- hosts: all
+ gather_facts: false
+ vars:
+ mongodb_parameters:
+ #mandatory parameters
+ database: 'local'
+ #optional
+ collection: "startup_log"
+ connection_string: "mongodb://localhost/"
+ 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": "batman" }
+ projection: { "pid": True , "_id" : False , "hostname" : True }
+ skip: 0
+ limit: 1
+ sort: [ [ "startTime" , "ASCENDING" ] , [ "age", "DESCENDING" ] ]
+ tasks:
+ - debug: msg="Mongo has already started with the following PID [{{ item.pid }}]"
+ with_mongodb: "{{mongodb_parameters}}"
+'''
+
from __future__ import (absolute_import, division, print_function)
from __future__ import unicode_literals
from ansible.module_utils.six import string_types