Entonces, estaba tratando de recuperar un documento de mongodb, pero luego apareció este error. No sé si es un error de base de datos o un error de código, ¿alguna ayuda?
Encountered error on event listener "guildMemberAdd" for event "guildMemberAdd" at path "D:\Project\Troll Kick Bot\bin\listeners\guildMemberAdd.js" TypeError: Cannot read properties of null (reading '_id') at GuildMemberAddListener.<anonymous> (D:\Project\Troll Kick Bot\bin\listeners\guildMemberAdd.js:34:36) at Generator.next (<anonymous>) at fulfilled (D:\Project\Troll Kick Bot\bin\listeners\guildMemberAdd.js:9:58) at processTicksAndRejections (node:internal/process/task_queues:96:5)guildMemberAdd.ts
import { Command } from "@sapphire/framework"; import { Message } from "discord.js"; import mongoose from "mongoose"; import { victim } from "../schema/victim"; export class Victim extends Command { public constructor(context: Command.Context, options: Command.Options) { super(context, { ...options, name: 'victim', description: 'kicks the victim without mercy' }) }; public async messageRun(message: Message) { await mongoose.connect(process.env.Mongoose!); const victimUser = message.mentions.members!.first(); const find = await victim.findOne({ _id: victimUser?.id}); if (find) { return message.reply('brother that guy is already in our hitlist') }; try { await new victim({ _id: victimUser?.id, guildId: message.guild?.id }).save(); } catch(e) { console.error(e) } finally { mongoose.connection.close() } } }parece que en esta línea de código await victim.findOne({ _id: victimUser?.id}); el victimUser?.id le está dando un valor null . Mongoose luego parece entrar en pánico al decir eso: me está pidiendo que encuentre un documento cuyo _id sea nulo. Por lo tanto, el error es más de: ¿por qué obtuvo un null para victimUser? .id. Compruebe si los datos pasados a la función messageRun tienen esa id de campo en primer lugar.