如何在 sequelize findAll() 中获取简单数组?

Nas*_*tro 3 javascript async-await sequelize.js

我正在尝试async/await使用sequelize. 我的代码看起来像:

更新:

router.get('/', errorHandler(async (req, res, next) => {

    let domainsDB = await Domain.findAll({
            where: { accID: accID },
            attributes: [`adID`, `domain`, `status`]
    })

}
Run Code Online (Sandbox Code Playgroud)

console.log(domainsDB)我看到这个:

[ 
     domains {
       dataValues: [Object],
       _previousDataValues: [Object],
       _changed: {},
       _modelOptions: [Object],
       _options: [Object],
       __eagerlyLoadedAssociations: [],
       isNewRecord: false },
     domains {
...
...
...
]
Run Code Online (Sandbox Code Playgroud)

文件说,它是在返回数组。但是控制台日志显示这是一个对象。这个对象中的数据dataValues是正确的。有我的域。但我希望得到一个可以使用的数组。

如何获得一个数组作为回报async/await?谢谢你的帮助。

Viv*_*shi 11

所有你需要的是:raw : true

let domainsDB = await Domain.findAll({
    where: { accID: accID },
    attributes: [`adID`, `domain`, `status`],
    raw : true // <--- HERE
})
Run Code Online (Sandbox Code Playgroud)

默认情况下,模型查询返回sequelizeObject ,以获得我们需要传递的普通结果raw : true