Sequelize.js Sequelize和discord.js-如何将Sequelize信息转换为简单数组

Sequelize.js Sequelize和discord.js-如何将Sequelize信息转换为简单数组,sequelize.js,discord.js,Sequelize.js,Discord.js,所以,newme是这样的: const gamem = await gamemodes.findAll({attributes: ['name']}); const newme = await gamemodes.findAll({attributes: ['name']}, {raw: true }); console.log(newme) const mapi = gamem.map(g => g.name).join('\n') || "No Game

所以,
newme
是这样的:

    const gamem = await gamemodes.findAll({attributes: ['name']});
    const newme = await gamemodes.findAll({attributes: ['name']}, {raw: true });
    console.log(newme)
    const mapi = gamem.map(g => g.name).join('\n') || "No Gamemodes yet!";
    await message.channel.send(`Okay! First, choose the gamemode you'd like to search in. List of gamemodes: **${mapi}**. You have 15 seconds, just post your choice here.`)
const msggg = await message.channel.awaitMessages(msg => msg.content == newme.some(), {time: 15000, max: 1});
我想让它像一个带有等待消息的搜索函数,因此当用户从数组中输入名称时,它会显示其他选项和信息,这在代码的其余部分中我不会显示,因为不需要它。我希望所有的名字,只有gamem(和newme)中的名字可以输入到一个更简单的数组中,但我想不出来

当我运行上面的代码时,我得到这个错误
无效值集合{}

[ gamemodes {
    dataValues: { name: 'Normal' },
    _previousDataValues: { name: 'Normal' },
    _changed: {},
    _modelOptions:
     { timestamps: true,
       validate: {},
       freezeTableName: false,
       underscored: false,
       underscoredAll: false,
       paranoid: false,
       rejectOnEmpty: false,
       whereCollection: null,
       schema: null,
       schemaDelimiter: '',
       defaultScope: {},
       scopes: [],
       indexes: [],
       name: [Object],
       omitNull: false,
       sequelize: [Object],
       hooks: {},
       uniqueKeys: [Object] },
    _options:
     { isNewRecord: false,
       _schema: null,
       _schemaDelimiter: '',
       raw: true,
       attributes: [Array] },
    __eagerlyLoadedAssociations: [],
    isNewRecord: false },
at Object.escape(D:\BasementMonster\node\u modules\sequelize\lib\sql string.js:66:11)
在Object.escape(D:\BasementMonster\node\u modules\sequelize\lib\dialogs\abstract\query generator.js:934:22)
位于Object.whereItemQuery(D:\BasementMonster\node\u modules\sequelize\lib\dialogs\abstract\query generator.js:2141:41)
位于Utils.getComplexKeys.forEach.prop(D:\BasementMonster\node\u modules\sequelize\lib\dialogs\abstract\query generator.js:1994:25)
在Array.forEach()处
在Object.whereItemsQuery(D:\BasementMonster\node\u modules\sequelize\lib\dialogs\abstract\query generator.js:1992:35)
在Object.getWhereConditions(D:\BasementMonster\node\u modules\sequelize\lib\dialogs\abstract\query generator.js:2460:19)
在Object.selectQuery(D:\BasementMonster\node\u modules\sequelize\lib\dialogs\abstract\query generator.js:1140:28)
在QueryInterface.select(D:\BasementMonster\node\u modules\sequelize\lib\query interface.js:1105:27)
在Promise.try.then.then.then(D:\BasementMonster\node\u modules\sequelize\lib\model.js:1604:34)
在tryCatcher(D:\BasementMonster\node\u modules\bluebird\js\release\util.js:16:23)
在Promise.\u settlePromiseFromHandler(D:\BasementMonster\node\u modules\bluebird\js\release\Promise.js:512:31)
在Promise.\u settlePromise(D:\BasementMonster\node\u modules\bluebird\js\release\Promise.js:569:18)
在Promise.\u settlePromise0(D:\BasementMonster\node\u modules\bluebird\js\release\Promise.js:614:10)
在Promise.\u结算Promises(D:\BasementMonster\node\u modules\bluebird\js\release\Promise.js:693:18)
位于Async.\u drainQueue(D:\BasementMonster\node\uModules\bluebird\js\release\Async.js:133:16)
在Async.\u drainQueues(D:\BasementMonster\node\uModules\bluebird\js\release\Async.js:143:10)
位于Immediate.Async.drainQueues(D:\BasementMonster\node\u modules\bluebird\js\release\Async.js:17:14)
运行回调时(timers.js:794:20)
在tryOnImmediate(timers.js:752:5)
在processImmediate[as_immediateCallback](timers.js:729:5)
(节点:11156)未处理的PromisejectionWarning:未处理的承诺拒绝。此错误源于在没有catch块的异步函数中抛出,或者拒绝未使用.catch()处理的承诺。(拒绝id:1)
(节点:11156)[DEP0018]弃用警告:未处理的承诺拒绝已弃用。将来,未处理的承诺拒绝将使用非零退出代码终止Node.js进程。

很抱歉发了这么长的帖子,但我已经尝试了几天了!谢谢

您需要使用
.toJSON()


现在,您可以根据自己的需要修改
数组。

下面的答案适合您吗?
 at Object.escape (D:\BasementMonster\node_modules\sequelize\lib\sql-string.js:66:11)
    at Object.escape (D:\BasementMonster\node_modules\sequelize\lib\dialects\abstract\query-generator.js:934:22)
    at Object.whereItemQuery (D:\BasementMonster\node_modules\sequelize\lib\dialects\abstract\query-generator.js:2141:41)
    at Utils.getComplexKeys.forEach.prop (D:\BasementMonster\node_modules\sequelize\lib\dialects\abstract\query-generator.js:1994:25)
    at Array.forEach (<anonymous>)
    at Object.whereItemsQuery (D:\BasementMonster\node_modules\sequelize\lib\dialects\abstract\query-generator.js:1992:35)
    at Object.getWhereConditions (D:\BasementMonster\node_modules\sequelize\lib\dialects\abstract\query-generator.js:2460:19)
    at Object.selectQuery (D:\BasementMonster\node_modules\sequelize\lib\dialects\abstract\query-generator.js:1140:28)
    at QueryInterface.select (D:\BasementMonster\node_modules\sequelize\lib\query-interface.js:1105:27)
    at Promise.try.then.then.then (D:\BasementMonster\node_modules\sequelize\lib\model.js:1604:34)
    at tryCatcher (D:\BasementMonster\node_modules\bluebird\js\release\util.js:16:23)
    at Promise._settlePromiseFromHandler (D:\BasementMonster\node_modules\bluebird\js\release\promise.js:512:31)
    at Promise._settlePromise (D:\BasementMonster\node_modules\bluebird\js\release\promise.js:569:18)
    at Promise._settlePromise0 (D:\BasementMonster\node_modules\bluebird\js\release\promise.js:614:10)
    at Promise._settlePromises (D:\BasementMonster\node_modules\bluebird\js\release\promise.js:693:18)
    at Async._drainQueue (D:\BasementMonster\node_modules\bluebird\js\release\async.js:133:16)
    at Async._drainQueues (D:\BasementMonster\node_modules\bluebird\js\release\async.js:143:10)
    at Immediate.Async.drainQueues (D:\BasementMonster\node_modules\bluebird\js\release\async.js:17:14)
    at runCallback (timers.js:794:20)
    at tryOnImmediate (timers.js:752:5)
    at processImmediate [as _immediateCallback] (timers.js:729:5)
(node:11156) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:11156) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
const newme = await gamemodes.findAll({attributes: ['name']}, {raw: true })
const array = []
newme.map((data) => {
  array.push(data.toJSON())
})