#mongodb #discord.js
Вопрос:
Привет, у меня ошибка (я посмотрел на решения других людей, но они мне не очень помогают), и я не могу сказать, что это вызывает в discord.js и mongodb Ошибка заключается в следующем : UnhandledPromiseRejectionWarning: ParallelSaveError: Can't save() the same doc multiple times in parallel. Document: 60df55dea691a919b4deca21
Код, который делает это, находится здесь :
const serverModel = require('../../models/serverSchema');
module.exports = {
name: 'hangup',
description: 'hangup on someone if they like eating cereal with a fork!',
category: 'fun',
aliases: global.aliases.fun.hangup,
cooldown: 5,
// Umm code i guess
async execute(message, args, client, serverData) {
if (serverData.calling == 'connected') {
console.log('die');
const OtherPerson = await serverModel.findOne({ talkingWith: serverData.serverID });
if (OtherPerson) {
OtherPerson.talkingWith = null;
OtherPerson.lastMsg = null;
OtherPerson.calling = 'hangup';
OtherPerson.save();
}
}
serverData.calling = 'no';
serverData.channel = '';
serverData.lastMsg = '';
serverData.talkingWith = '';
serverData.save(); //The error brings me here
message.channel.send(':bangbang:**__Hangingup__ bye bye**:bangbang:');
},
};
я не могу сказать, что это вызывает
как я уже сказал, я не могу сказать, что это вызывает, я использую mongodb, я почти уверен, что ошибка не из каких-либо других сценариев
Вот как в настоящее время выглядит база данных для данных сервера :
talkingWith: '860785717882126356';
channel: '856912495737307137';
calling: 'connected';
lastMsg: null;
я не собираюсь добавлять, как выглядит база данных OtherPerson, потому что она неизвестна, но выглядит как «Данные сервера».
Комментарии:
1. Это происходит потому, что вы быстро сохраняете его. Я думаю, что для API mongodb существует ограничение скорости
2. @MrMythical Да, в этом и была проблема
Ответ №1:
Я нашел проблему
проблема заключалась в том, что я использовал эту команду serverData.save();
слишком быстро подряд
я нашел это, посмотрев в своем обработчике событий, я исправил это, добавив if ()
инструкцию
извините за такой маленький ответ, на самом деле добавить нечего