Cómo comprobar si la información proporcionada está en un esquema diferente.
En la página de registro, quiero verificar si el correo electrónico, el nombre y el apellido ingresados por el usuario están en el esquema de la organización o no. Si están en la base de datos, entonces se crea un nuevo usuario.
mi esquema de usuario:
const UserSchema = new mongoose.Schema(
{
organization: {
type: mongoose.Schema.Types.ObjectId,
ref: ‘Organization’
},
firstName: {
type: String,
required: [true, “Primer nombre es requerido”],
},
lastName: {
type: String,
required: [true, “Apellido es requerido”],
},
email: {
type: String,
required: [true, “Correo electrónico es requerido”],
validate: {
validator: (val) => /^([\w-.]+@([\w-]+.)+[\w-]+)?$/.test(val),
message: “Por favor ingrese un correo electrónico válido”,
},
},
password: {
type: String,
required: [true, “Contraseña es requerida”],
minlength: [8, “La contraseña debe tener 8 caracteres o más”],
},
},
{ timestamps: true }
)
esquema de organización:
const OrganizationSchema = mongoose.Schema({
orgname: {
type: String
},
domain: {
type: String
},
users: [{
type: mongoose.Schema.Types.ObjectId,
ref: ‘User’ }
],
timestamp: {
type: Date,
default: Date.now
},
})
davy.ai
Puede utilizar el método
findOne()
para comprobar si el correo electrónico, el nombre y el apellido introducidos por el usuario se encuentran en el esquema de la organización. Si es así, puede crear un nuevo usuario con el métodocreate()
.Ejemplo: