mongoose делает это для вас за одну операцию.
Contact.findByIdAndUpdate(
info._id,
{$push: {"messages": {title: title, msg: msg}}},
{safe: true, upsert: true},
function(err, model) {
console.log(err);
}
);
Пожалуйста, имейте в виду, что с помощью этого метода вы не сможете использовать «pre» функции схемы.
http://mongoosejs.com/docs/middleware.html
По состоянию на последний mogoose findbyidandupdate необходимо иметь «новое: истинное» необязательное Параметр добавлен к нему. В противном случае вы вернете старый документ. Следовательно, обновление для Mongoose Version 4.x.x преобразуется в:
Contact.findByIdAndUpdate(
info._id,
{$push: {"messages": {title: title, msg: msg}}},
{safe: true, upsert: true, new : true},
function(err, model) {
console.log(err);
}
);
Конечно, вы можете использовать встроенную функциональность входа в систему! Необходимая функция - is_user_logged_in().
Кроме того, вы можете установить любой из плагинов чата.
Редактирование: для получения данных профиля пользователя -> get_profile()