{ let result1=await trial_table.findAll({attributes : ["emp_id",-6ren">
gpt4 book ai didi

node.js - 从 Sequelize 中的 dataValues 获取属性值

转载 作者:行者123 更新时间:2023-12-03 22:19:05 26 4
gpt4 key购买 nike

app.get("/" , async(req,res) => {
let result1=await trial_table.findAll({attributes : ["emp_id","emp_name"],where : {emp_name:"abc"} ,raw:true})
let result2=await trial_table.findAll({attributes : ["emp_id","emp_name"],where : {emp_id:1},raw:true})
let result3=await trial_table.findAll({attributes : ["emp_id","emp_name"],where: {emp_id:1 , emp_name:"def"},raw:true})
console.log(result1,result2,result3)
console.log(typeof(result1))
console.log(typeof(result2))
console.log(typeof(result3))
console.log(result1.emp_name)
res.render("frontpage.ejs", { result1 , result2,result3})
})

console.log for "result1" is [{emp_id=1,emp_name='abc'}]


但是,当我执行 result1.emp_id 时,它会给出“未定义”作为结果。我需要从 result1 获取键的值。

最佳答案

sequelize 中的 findAll() 函数总是返回一个数组。
要获取单个记录,请使用 findOne(),

const result = await trial_table.findOne({
attributes: ['emp_id', 'emp_name'],
where: { emp_name: 'abc' },
raw: true
});
如果选项 raw:true 被传递,那么你可以做 result.emp_id否则,我们必须使用 .get() 来获取普通的 javascript 对象。
const trial = result?result.get({ plain:true }):null;

关于node.js - 从 Sequelize 中的 dataValues 获取属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66085268/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com