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

mongoose - vælg specifikke felter i Model.create

Hvis du tager et kig på mongoose-kildekoden , kan du se, at Model.create returnerer et løfte med de oprettede/indsatte dokumenter. Der er ingen måde at angive en filtreringsindstilling for kun at returnere specifikke felter.

Selvfølgelig kunne du lave en .find() i kombination med en .select() opkald efter oprettelse/indsættelse af en ny post, men det ville resultere i en ekstra DB-forespørgsel for hver indsættelse, hvilket ikke giver særlig mening.

Du kunne i stedet blot returnere de ønskede egenskaber fra det returnerede dokument, da du ved, at et nyt dokument blev indsat med succes med de angivne data, da løftet blev løst. Så du kunne simpelthen gøre:

res.send({title: generatedEvent.title, description: generatedEvent.description});


  1. Sådan gemmer du aggregeret katalogtræsøgeresultat i Redis

  2. Forespørgsel efter dokumenter, der har et internt underfelt med en given værdi

  3. Slet dokument fra mongoDB

  4. MongoDB fuldtekstsøgning + løsning for delvis ordmatch