Om du tittar på mongoose-källkoden , kan du se att Model.create
returnerar ett löfte med de skapade/infogade dokumenten. Det finns inget sätt att ange ett filtreringsalternativ för att endast returnera specifika fält.
Naturligtvis kan du göra en .find()
i kombination med en .select()
anrop efter att ha skapat/infogat en ny post men det skulle resultera i en extra DB-fråga för varje infogning vilket inte är så vettigt.
Du kan istället bara returnera de önskade egenskaperna från det returnerade dokumentet, eftersom du vet att ett nytt dokument infogades framgångsrikt med de angivna uppgifterna, när löftet löste sig. Så du kan helt enkelt göra:
res.send({title: generatedEvent.title, description: generatedEvent.description});