sql >> Database teknologi >  >> NoSQL >> MongoDB

mongoose findById ved hjælp af async afventer

_id værdien i det dokument, du prøver at finde, er en streng, ikke et objekt-id. Så du skal opdatere dit skema for at definere _id som en streng; ellers vil Mongoose caste alle _id-værdier i dine forespørgsler til standard-_id-typen af ​​ObjectId (hvilket resulterer i, at forespørgslen ikke matcher dokumentet).

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

Når alt det er sagt, vil du sandsynligvis opdatere dine dokumenter til at bruge ObjectId-værdier for _id i stedet for String, da det er mere effektivt.




  1. MongoDB:hvordan man finder dokumenter, der ignorerer store og små bogstaver, accenter og procent som logik (%)

  2. Aktivering af datakomprimering i MongoDB 3.0

  3. Brug af AngularJs og MongoDB/Mongoose

  4. Microservices Architecture til meget hyppig dataadgang; i hukommelsesløsninger?