MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

mongoose findById utilisant l'attente asynchrone

Le _id value dans le document que vous essayez de trouver est une chaîne, pas un ObjectId. Vous devez donc mettre à jour votre schéma pour définir _id en tant que chaîne ; sinon Mongoose convertira toutes les valeurs _id de vos requêtes en type _id par défaut d'ObjectId (ce qui fait que la requête ne correspond pas au document).

const courseSchema = mongoose.Schema({
    _id: String,
    name: String,
    author: String,
    tags: [String],
    date: Date,
    isPublished: Boolean,
    price: Number
});

Cela dit, vous souhaitez probablement mettre à jour vos documents pour utiliser les valeurs ObjectId pour _id au lieu de String, car c'est plus efficace.