Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

174
Views
Uso de una función de esquema de Mongoose dentro de un modelo de Mongoose exportado

Últimamente he estado trabajando en un sistema de autenticación que se supone que crea un nuevo usuario si no existe ningún usuario con una ID dada O carga en un usuario con una ID existente. También descubrí que puede devolver si un usuario existe o no con ID usando

 User.count({_id: id}, function (err, count){ if(count > 0){ // User exists, continue with loading data } else { // User does not exist, create one } });

siendo el usuario un modelo Mongoose exportado mongoose.model('User', UserSchema);

Si creé una función que existe con Id (id) en mi app.js ahora, funcionaría perfectamente bien (a juzgar por el hecho de que el código mencionado anteriormente funciona perfectamente bien ), pero quiero mover esta función a mi modelo user.js ( que contiene el código Mongoose / MongoDB) en su lugar, de modo que lo tenga solo para ese modelo específico. Cada vez que trato de hacer eso usando

 UserSchema.statics.existsWithId = function(id) { this.count({_id: id}, function (err, count){ return count > 0; }); }

o métodos similares, sin embargo, simplemente devolverá undefined o un error una vez que lo ejecute dentro de mi app.js.

NOTA: Lo siento si esta es una pregunta simple o incluso tonta, pero soy bastante nuevo considerando la administración de bases de datos con Mongoose y aunque tengo ALGUNA experiencia con JS, no soy exactamente un profesional en eso.

Si alguno de ustedes necesita un código adicional proporcionado para responder a la pregunta, no dude en preguntarme y lo haré. Además, todavía no puedo +repetir respuestas, pero siempre las aprecio :)

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Su método existsWithId devuelve un valor de forma asíncrona para que pueda devolverle la llamada y obtener el resultado de esta manera:

 UserSchema.statics.existsWithId = function(id, cb) { this.count({ _id: id }, function(err, count) { cb(err, count > 0); }); } User.existsWithId("5882c3be5aad09028d4d8b46", function(err, res) { console.log(res); });
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!