'How to push to each items inside an array of objects in mongoose?
I'm trying to update every item inside an array with Mongoose. What I would like to have is that each user invited to an event has the created event inside an array. But I'm getting an error SyntaxError: Unexpected token '.'
when trying a for loop. Does someone have a solution?
This is my code:
router.post("/new-event", (req, res, next) => {
const {
title,
organiser,
invitedPeople,
} = req.body
Event.create({
title,
organiser,
invitedPeople,
})
.then(createdEvent => {
User.findByIdAndUpdate(
organiser,
{ $push: { organisedEvents: createdEvent } },
{ new: true }
).then(updatedUser => {
for (let i = 0; i < invitedPeople.length; i++) {
User.findByIdAndUpdate(
invitedPeople[i],
{ $push: { invitedEvents: createdEvent } },
{ new: true }
)
}
.then(updatedUsers => {
res.status(200).json({
user: updatedUser,
createdEvent,
updatedUsers,
})
})
})
})
.catch(err => next(err))
})
The rest is working well, only this $push
inside the for
loop does not work.
Thanks for your answers!
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|