MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Mungo findById mit async await

Die _id value in dem Dokument, das Sie zu finden versuchen, ist ein String, keine ObjectId. Sie müssen also Ihr Schema aktualisieren, um _id zu definieren als Zeichenfolge; Andernfalls wandelt Mongoose alle _id-Werte in Ihren Abfragen in den standardmäßigen _id-Typ von ObjectId um (was dazu führt, dass die Abfrage nicht mit dem Dokument übereinstimmt).

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

Abgesehen davon möchten Sie wahrscheinlich Ihre Dokumente aktualisieren, um ObjectId-Werte für _id zu verwenden anstelle von String, da es effizienter ist.