【问题标题】:TypeError: Cannot read property 'findOne' of undefined (using mongoose)TypeError:无法读取未定义的属性“findOne”(使用猫鼬)
【发布时间】:2021-09-06 00:42:37
【问题描述】:

我一直在使用 rethinkdb,由于它已经过时了,我想切换到 mongodb。在我的prefix 命令中,我不断收到该错误,这是我的代码:

const { Guild } = require('../../models/Guild');

async function prefixCommand (msg, args) {
    if (!msg.member.permissions.has('manageGuild') && !this.config.options.devs.includes(msg.author.id)) {
        return msg.channel.createMessage('You need `manageGuild` to be able to use this command!');
    }

    Guild.findOne({ guildID: msg.channel.guild.id }, function(err, doc) {
        let prefixConfig;

        if (!args[0]) {
            return msg.channel.createMessage('Prefix is a required argument!\nUsage: `prefix <prefix>`');
        }
        if (args.join(' ').length > 32) {
            return msg.channel.createMessage(`Your prefix cannot be over 30 characters long! You are ${args.join(' ').length - 32} characters over the limit.`);
        }
        if (doc.prefix === args.join(' ').toLowerCase()) {
            return msg.channel.createMessage(`\`${args[0]}\` is already your current prefix.`);
        }

        //prefixConfig.prefix = args.join(' ');
        doc.prefix = args.join(' ');
        doc.save();
        //await this.m.updateGuild(msg.channel.guild.id, prefixConfig.prefix);
        msg.channel.createMessage(`Prefix has been set to \`${prefixConfig}\``);
    });
}

虽然公会是这样的:

const mongoose = require('mongoose');

const guildSchema = new mongoose.Schema({
    guildID: String,
    guildName:String,
    ownerID: String,
    prefix: { 
        type: String, 
        default: '>' 
    }
});

module.exports = mongoose.model('Guild', guildSchema)

我似乎无法弄清楚问题所在。任何帮助表示赞赏!

【问题讨论】:

  • 你能显示文件夹结构以及完整的错误堆栈吗?
  • 我觉得应该是const Guild = require('../../models/Guild');在上面

标签: node.js mongodb mongoose discord eris


【解决方案1】:

只需将您的要求更改为const Guild = require('../../models/Guild');

您正在将模型作为默认值从 /models/Guild 导出,但需要它就像它的命名导出一样 module.exports = { Guild }

【讨论】:

    猜你喜欢
    • 2017-01-16
    • 1970-01-01
    • 2021-05-29
    • 2020-04-22
    • 1970-01-01
    • 2016-08-15
    • 2019-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多