Мне нужно найти строку пользователей в моей базе данных через имя пользователя user, затем использовать это имя пользователя, чтобы найти его запрос на добавление в друзья в таблице запросов, затем:
Обновление запроса для предотвращения дублирования запросов
Добавить уведомление в массив уведомлений пользователя
Передать пользователю через идентификатор сокета в его строке
Можете ли вы обновить строку монго в then ()?
Я пробовал это в моем обратном вызове:
requester.update({ $push: { 'notifications': {'msg': msg, 'type': type} } });
Это контекст:
User.find({'username': requester}).exec()
.then(requester => {
Request.findOneAndUpdate({'requester': requester[0]._id, 'requestee': requestee.user._id}, {'status': 1}).then(function(){
const msg = requestee.user.username + ' accepted your friend request ?',
type = 1;
requester.update({ $push: { 'notifications': {'msg': msg, 'type': type} } });
app.io.to(requester[0].socket).emit({'msg': msg, 'type': type});
});
})
.catch(err => {
console.log(err);
});
В настоящее время я получаю: Ошибка типа: requestter.update не является функцией