TypeError: Cannot read properties of null (reading '_id')

TypeError: Cannot read properties of null (reading '_id')

所以我试图从 mongodb 检索文档,但后来出现了这个错误 我不知道它是数据库错误还是代码错误所以有帮助吗?

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()
        }
    }
}

在这行代码 await victim.findOne({ _id: victimUser?.id}); 中,victimUser?.id 似乎为您提供了一个 null 值。然后 Mongoose 似乎恐慌地说 - 你要我找到一个 _id 为空的文档。因此错误更多的是 - 为什么你得到一个 null for victimUser?.id。检查传递给函数 messageRun 的数据是否首先具有该字段 id