sql >> Databáze >  >> NoSQL >> MongoDB

mongoose findById pomocí asynchronního čekání

_id hodnota v dokumentu, který se snažíte najít, je řetězec, nikoli ObjectId. Takže musíte aktualizovat své schéma tak, aby definovalo _id jako řetězec; jinak Mongoose přenese všechny hodnoty _id ve vašich dotazech na výchozí typ _id ObjectId (což způsobí, že dotaz neodpovídá dokumentu).

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

Po tom všem budete pravděpodobně chtít aktualizovat své dokumenty tak, aby používaly hodnoty ObjectId pro _id místo String, protože je to efektivnější.




  1. 9 funkcí ClusterControl, které nenajdete v jiných nástrojích pro správu databází

  2. Kontejnerem spravované připojení MongoDB v Liberty + Spring Data

  3. Dotazová pole v kolekci MongoDB.

  4. Regulární výraz MongoDB s indexovaným polem