提问者:小点点

方法不返回整个对象


当我调用方法buildCommand时,它不返回属性消息,但我发现,如果我从buildCommand中移除一些属性,它就会工作。这是我调用的方法

const buildCommand = (commandJSON) => {
        return new Command({
        prefix: commandJSON.prefix,
        command: commandJSON.command,
        aliases: commandJSON.aliases,
        parameters: commandJSON.parameters,
        message: commandJSON.message,
        response: commandJSON.response,
        commandMedium: commandJSON.commandMedium,
        enabled: commandJSON.enabled,
        isDefault: commandJSON.isDefault,
        permission: commandJSON.permission,
        cooldown: commandJSON.cooldown,
      });
    };

这就是我如何调用方法

const newCommand = buildCommand(commandJSON);

commandJSON的外观如下所示

{ prefix: '!', command: 'laugh', message: 'hahaha' }

更新2这是我的整个命令模型

const mongoose = require('mongoose');

const commandSchema = mongoose.Schema({
  prefix: {
    type: String,
    default: '!',
  },
  command: {
    type: String,
    required: true,
  },
  aliases: {
    type: Array,
  },
  parameters: {
    type: Array,
  },
  message: {
    type: String,
  },
  response: {
    type: String,
    enum: ['chat', 'whisper'],
    default: 'chat',
  },
  commandMedium: {
    type: String,
    enum: ['offline', 'online', 'both'],
    default: 'both',
  },
  enabled: {
    type: Boolean,
    default: true,
  },
  isDefault: {
    type: Boolean,
    default: false,
  },
  permission: {
    type: String,
    enum: ['everyone', 'subscriber', 'vip', 'moderator', 'broadcaster'],
    default: 'everyone',
  },
  cooldown: {
    globalCooldown:{type:Boolean, default:false},
    globalDuration:{type:Number, default:0},
    userDuration:{type:Number,default:0},
  }
});

module.exports = mongoose.model('Commands', commandSchema, 'TwitchUsers');

共1个答案

匿名用户

命令只是一个猫鼬模型。其中没有任何异步,您可以(也应该)删除async/await内容。

您可以简单地执行const newCommand=new Command(commandJSON),任务完成。