Mam 2 tablice obiektów i chciałbym podmienić pole obiektu w jednej z nich na obiekt z drugiej. Póki co mam napisane tyle :
Invitation.find({ user_id: req.params.id })
.limit(parseInt(perPage))
.skip(parseInt(perPage) * parseInt(page))
.sort({ createdAt: -1 })
.then(async results => {
const array = await results.map(user => user.invited_user_id)
// getting info about users
const users = await User.find({
_id: { $in: array }
}, 'name surname avatar', (err, usersArray) => {
if (err) res.status(500).json(err)
return usersArray;
})
const finalData = [];
results.forEach(result => {
users.forEach(user => {
if (result.invited_user_id == user._id) {
result.invited_user_id = user
finalData.push(result)
}
})
})
console.log(results)
res.status(200).json(finalData);
}).catch(err => {
console.log(err)
res.status(500).json({ err });
})
Jednak dostaję taką tablicę zwrotną :
{
"seen": false,
"_id": "5f6aa15995983905244591df",
"user_id": "5f69264fe410854be4840e9f",
"invited_user_id": "{\n surname: 'bcv'\n}",
"createdAt": "2020-09-23T01:14:01.445Z",
"__v": 0
},
{
"seen": false,
"_id": "5f6a943d8d745b422cd67796",
"user_id": "5f69264fe410854be4840e9f",
"invited_user_id": "{\n name: 'Paweł',\n surname: 'fdsafasd'\n}",
"createdAt": "2020-09-23T00:18:05.634Z",
"__v": 0
}
Czyli podmienia mi invited_uesr_id na obiket sprowadzony do stringa...