$regex - Amazon DocumentDB

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

$regex

El $regex operador le permite realizar coincidencias de expresiones regulares en campos de cadenas. Es una potente herramienta para buscar y filtrar documentos en función de patrones complejos.

Parámetros

  • regular expression: El patrón de expresión regular que se debe comparar con el campo.

  • $options: (opcional) Ofrece opciones para modificar el comportamiento de búsqueda, como distinguir entre mayúsculas y minúsculas, la coincidencia global, etc.

Ejemplo (MongoDB Shell)

El siguiente ejemplo demuestra el uso del $regex operador para buscar documentos en los que el campo «nombre» coincide con un patrón específico.

Cree documentos de muestra

db.users.insertMany([ { name: "John Doe" }, { name: "Jane Smith" }, { name: "Alice Johnson" }, { name: "Bob Williams" }, { name: "Charlie Davis" } ]);

Ejemplo de consulta

db.users.find({ name: { $regex: /^A/ } })

Salida

[ { "_id" : ObjectId("..."), "name" : "Alice Johnson" } ]

Esta consulta devolverá todos los documentos en los que el campo «nombre» comience por la letra «A».

Ejemplos de código

Para ver un ejemplo de código para usar el $regex comando, elija la pestaña correspondiente al idioma que desee usar:

Node.js
const { MongoClient } = require('mongodb'); async function main() { const client = await MongoClient.connect('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false'); const db = client.db('test'); const collection = db.collection('users'); const results = await collection.find({ name: { $regex: /^A/ } }).toArray(); console.log(results); await client.close(); } main();
Python
from pymongo import MongoClient def main(): client = MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false') db = client['test'] collection = db['users'] results = list(collection.find({ 'name': { '$regex': '^A' } })) print(results) client.close() if __name__ == "__main__": main()