Il _id
il valore nel documento che stai cercando di trovare è una stringa, non un ObjectId. Quindi devi aggiornare il tuo schema per definire _id
come una stringa; altrimenti Mongoose trasmetterà qualsiasi valore _id nelle tue query al tipo _id predefinito di ObjectId (con il risultato che la query non corrisponde al documento).
const courseSchema = mongoose.Schema({
_id: String,
name: String,
author: String,
tags: [String],
date: Date,
isPublished: Boolean,
price: Number
});
Detto questo, probabilmente vorrai aggiornare i tuoi documenti per utilizzare i valori ObjectId per _id
invece di String, perché è più efficiente.