sql >> Databasteknik >  >> NoSQL >> MongoDB

mongoose findById med async väntar

_id värdet i dokumentet du försöker hitta är en String, inte ett ObjectId. Så du måste uppdatera ditt schema för att definiera _id som en sträng; Annars kommer Mongoose att casta alla _id-värden i dina frågor till standardtypen _id av ObjectId (vilket resulterar i att frågan inte matchar dokumentet).

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

Med det sagt vill du förmodligen uppdatera dina dokument för att använda ObjectId-värden för _id istället för String, eftersom det är mer effektivt.




  1. Anslutningen återställd av Peer pymongo

  2. Mongoose skiftar bort findAndUpdateById

  3. Försöker med $regex att hitta flera fält samtidigt i Mongodb

  4. mongodb schema.createIndex är inte en funktion