Я создаю сайт для чата. Это мой пример кода.
const result = await Room.findOne({
name: roomName
});
if (result) {
result.users.forEach((element, index) => {
if (element === userName) {
result.users.splice(index, 1);
result.save();
return;
}
});
if (!result.users.length) {
Room.findOneAndDelete({
name: result.name
}, function(err) {
if (err)
console.log(err);
});
}
}
Этот код предназначен для случаев, когда пользователь выходит из комнаты, удаляет имя пользователя в комнате и, если в его комнате нет пользователя, удаляет комнату.
В настоящее время мой код удаляется хорошо ... Но я всегда получаю это предупреждение.
UnhandledPromiseRejectionWarning: VersionError: не найден соответствующий документ для идентификатора "5ecf2ade55c7db23747300e8" версия 0 modifiedPaths "users"
Сначала я подумал, что функция findOneAndDelete
вызывается дважды, но после проверки через консоль, похоже, это не так. Я сделал это, используя Express
и Mongoose
.