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

567
Views
Mongoose findbyid () devuelve nulo

Estoy tratando de encontrar un registro en mi mongo db por su id

No importa si uso findbyid(), findone(id,...), devuelve nulo

aquí está mi código. ¿cuál es la solución?

 const mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/Movie', {useNewUrlParser: true}) .then(() => console.log('Connected to Databse')) .catch(err => console.err('Could not connect to MongoDB', err)); var ObjectId = require('mongodb').ObjectID; const Schema = new mongoose.Schema({ name: String, author: String, tags: [String], date: Date, isPublished: Boolean, price: Number }); const Data = mongoose.model('Datas', Schema); async function updateData(id){ const result = await Data.findById(id); console.log(result); } updateData('5a6900fff467be65019a9001');
over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Yo tuve el mismo problema. El _id en mi colección de bases de datos era una String . Después de habilitar la depuración de mongoose require('mongoose').set('debug', true) , descubrí que la id de la consulta de mangosta era ObjectId("yourId") a menos que definamos _id en el esquema. Para resolver el problema, tuve que agregar _id:String en el esquema de mongoose.

 const MyDataSchema = new Schema({ _id: String, ... ... }
over 4 years ago · Santiago Trujillo Report

0

Hay una solución simple para esto:

Reemplazar

 const result = await Data.findById(id);

con

 const result = await Data.findById(id).exec();

Ver Mongoose - ¿Qué hace la función exec? para una explicación de lo que hace exec()

over 4 years ago · Santiago Trujillo Report

0

Verifique su base de datos mongodb, si _id está almacenado como String, findById(id) no puede encontrar id . FindById(id) solo finds ObjectId('yourId') . Puede importar la base de datos utilizando mongoimport e incluyendo _id en JSON, está mal, elimine _id en JSON importado.

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!