Indexación
La indexación ayuda a consultar los documentos de manera eficiente. Eso
PyMongo contiene una función create_index() para crear explícitamente un índice. De forma predeterminada, _id es el único índice presente en la colección. Esta función puede aceptar una clave o una lista de pares (clave, dirección).
Sintaxis:
create_index(keys, session=None, **kwargs)
Veamos algunos ejemplos.
Ejemplo 1:
Base de datos de muestra:
Python3
from pymongo import MongoClient # creation of MongoClient client = MongoClient() # Connect with the portnumber and host client = MongoClient("mongodb://localhost:27017/") # Access database mydatabase = client['GFG'] # Access collection of the database mycollection = mydatabase['College'] # Before Creating index index_list = sorted(list(mycollection.index_information())) print("Before Creating index") print(index_list) # Creating index mycollection.create_index("student_id", unique = True) # After Creating index index_list = sorted(list(mycollection.index_information())) print("\nAfter Creating index") print(index_list)
Producción:
Before Creating index ['_id_'] After Creating index ['_id_', 'student_id_1']
- Aquí, creamos un índice llamado student_id usando el método create_index(). Esto da como resultado dos índices en los documentos _id y student_id .
- Usando el método index_information() , obtenemos todos los índices en la colección,
Ejemplo 2:
Python3
from pymongo import MongoClient # creation of MongoClient client = MongoClient() # Connect with the portnumber and host client = MongoClient("mongodb://localhost:27017/") # Access database mydatabase = client['GFG'] # Access collection of the database mycollection = mydatabase['College'] record = {'_id': 4, "student_id": 873, "name": "John", "section": "A"} mycollection.insert_one(record)
Producción:
Rastreo (última llamada más reciente) en el registro mycollectioninsert_onerecord
DuplicateKeyError: E11000 colección de errores de clave duplicada: índice GFG.College: student_id_1 clave duplicada: { : 873 }
DuplicateKeyError
Publicación traducida automáticamente
Artículo escrito por gauravbabbar25 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA