No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Reto: expresión regular para contraseñas

10/22
Recursos

Aportes 5

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Se pueden usar con el indicador pattern
Normalmente se escriben con diagonal expression diagonal
Ej
/[0-9]/
Para mongo se elimina la diagonall y se pone en su lugar las comillas dobles
“[0-9]”

^ -> indica inicio
$ -> indica fin
“^[a-zA-Z0-9]{8,100}$”
Con letras de la y numeros minimo 8 maximo 100
“^[a-zA-Z0-9]{8,}$”
Con letras y numeros desde 8 hasta infinito

Aparte de validar campos, se pueden usar como parte de los filtros.
https://www.mongodb.com/docs/manual/reference/operator/query/regex/

use("platzi_store");

db.users.drop();
db.createCollection("users", {
  validator: {
    $jsonSchema: {
      bsonType: "object",
      required: ["email", "password", "role"],
      properties: {
        name: {
          bsonType: "string",
        },
        last_name: {
          bsonType: "string",
        },
        email: {
          bsonType: "string",
        },
        password: {
          bsonType: "string",
          pattern: "^[A-Za-z0-9]{8,}$",
        },
        age: {
          bsonType: "number",
          minimum: 18,
          maximum: 99,
        },
        isSingle: {
          bsonType: "bool",
        },
        role: {
          enum: ["customer", "seller", "admin"],
        },
      },
    },
  },
});

No se olviden que pueden usar herramientas como <https://regex101.com/> donde pueden probar sus expresiones regulares antes de colocarlas en la creación de sus colecciones.

Utilizando la caracteristica pattern en una propiedad, se le puede indicar mediante el estandar de regex como deben estar formado el string.

password: { // propiedad
    bsonType: 'string', // tipo del objeto
    pattern: '^[A-Za-z0-9]{8,}$' // patron regex
},

excellent! muy bien explicado.