¿Qué es MongoDB?

MongoDB es una base de datos de documentos, una de las bases de datos no relacionales o NoSQL más populares del mercado. MongoDB almacena los datos en una estructura similar a JSON lo que la hace increíblemente flexible.

Así es MongoDB

  • Muy flexible.
  • Escalable.
  • MongoDB es de uso gratuito.

Puedes ver mucha más información sobre estas increíbles bases de datos en el sitio web oficial de MongoDB.

MongoDB ofrece dos herramientas muy potentes para gestionar sus base de datos.

  • Compass
  • Atlas

Nosotros para algunos tutoriales de la sección vamos a trabajar con la aplicación de escritorio Compass (descargar la última versión de Compass desde su sitio web oficial).

Si venimos de realizar proyectos con otros tipo de base de datos, debemos tener en cuenta que cuando trabajamos con la bases de datos MongoDB, éstas no están formadas por tablas y estas tablas por registros, las bases de datos MongoDB están compuestas por colecciones y estas colecciones por documentos.

Base de datos → Tabla → Registro
Base de datos MongoDB → Colección → Documento

Conector PyMongo

Para conectar MongoDB con nuestra aplicación Python tenemos que usar el conector PyMongo, éste es el conector oficial de MongoDB para aplicaciones síncronas de Python.

Podemos realizar la instalación de la siguiente forma.

pip install pymongo

Desde aquí se puede ver la documentación oficial de PyMongo.

Una vez que lo tengamos correctamente instalado podemos ver un poco más de su interior haciéndole un dir(). Vamos a utilizar pprint para mostrar el listado, de esta forma saldrá una listado mucho más legible.

import pymongo
import pprint

pprint.pprint(dir(pymongo))

[
 'ASCENDING',
 'ContextManager',
 'CursorType',
 'DESCENDING',
 'DeleteMany',
 'DeleteOne',
 'GEO2D',
 'GEOSPHERE',
 'HASHED',
 'IndexModel',
 'InsertOne',
 'MAX_SUPPORTED_WIRE_VERSION',
 'MIN_SUPPORTED_WIRE_VERSION',
 'MongoClient',
 'Optional',
 'ReadPreference',
 'ReplaceOne',
 'ReturnDocument',
 'TEXT',
 'Tuple',
 'Union',
 'UpdateMany',
 'UpdateOne',
 'WriteConcern',
 '__all__',
 '__annotations__',
 '__builtins__',
 '__cached__',
 '__doc__',
 '__file__',
 '__loader__',
 '__name__',
 '__package__',
 '__path__',
 '__spec__',
 '__version__',
 '_cmessage',
 '_csot',
 'aggregation',
 'auth',
 'auth_aws',
 'bulk',
 'change_stream',
 'client_options',
 'client_session',
 'collation',
 'collection',
 'command_cursor',
 'common',
 'compression_support',
 'cursor',
 'database',
 'driver_info',
 'errors',
 'get_version_string',
 'has_c',
 'hello',
 'helpers',
 'max_staleness_selectors',
 'message',
 'mongo_client',
 'monitor',
 'monitoring',
 'network',
 'operations',
 'periodic_executor',
 'pool',
 'read_concern',
 'read_preferences',
 'response',
 'results',
 'saslprep',
 'server',
 'server_api',
 'server_description',
 'server_selectors',
 'server_type',
 'settings',
 'socket_checker',
 'srv_resolver',
 'ssl_context',
 'ssl_support',
 'timeout',
 'topology',
 'topology_description',
 'typings',
 'uri_parser',
 'version',
 'version_tuple',
 'write_concern'
]

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *