$ RegexMatch - 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.

$ RegexMatch

Nuevo desde la versión 5.0. No es compatible con el clúster de Elastic.

El $regexMatch operador de Amazon DocumentDB se utiliza para realizar coincidencias de expresiones regulares en campos de cadenas. Devuelve un valor booleano (trueofalse) que indica si la cadena de entrada coincide con el patrón especificado.

Parámetros

  • input: La cadena que se comparará con la expresión regular.

  • regex: El patrón de expresión regular que debe coincidir.

  • options: (Opcional) Banderas para modificar el comportamiento de la expresión regular, como la coincidencia sin distinguir entre mayúsculas y minúsculas (i) o la coincidencia multilínea (). m

Ejemplo (MongoDB Shell)

El siguiente ejemplo muestra cómo utilizar el $regexMatch operador para comprobar si los nombres comienzan por la letra «M». El operador devuelve true o false para cada documento.

Cree documentos de muestra

db.users.insertMany([ { "_id":1, name: "María García", email: "maría@example.com" }, { "_id":2, name: "Arnav Desai", email: "arnav@example.com" }, { "_id":3, name: "Martha Rivera", email: "martha@example.com" }, { "_id":4, name: "Richard Roe", email: "richard@example.com" }, ]);

Ejemplo de consulta

db.users.aggregate([ { $project: { name: 1, startsWithM: { $regexMatch: { input: "$name", regex: "^M", options: "i" } } } } ]);

Salida

{ _id: 1, name: 'María García', startsWithM: true }, { _id: 2, name: 'Arnav Desai', startsWithM: false }, { _id: 3, name: 'Martha Rivera', startsWithM: true }, { _id: 4, name: 'Richard Roe', startsWithM: false }

Ejemplos de código

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

Node.js
const { MongoClient } = require('mongodb'); async function checkNamePattern() { 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 result = await collection.aggregate([ { $project: { name: 1, startsWithM: { $regexMatch: { input: "$name", regex: "^M", options: "i" } } } } ]).toArray(); console.log(result); await client.close(); } checkNamePattern();
Python
from pymongo import MongoClient def check_name_pattern(): 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 result = list(collection.aggregate([ { '$project': { 'name': 1, 'startsWithM': { '$regexMatch': { 'input': '$name', 'regex': '^M', 'options': 'i' } } } } ])) print(result) client.close() check_name_pattern()