gpt4 book ai didi

node.js - Console.log 打印 [Object SequelizeInstance :User]

转载 作者:太空宇宙 更新时间:2023-11-04 03:02:16 26 4
gpt4 key购买 nike

所以,我对 Sequelize 有点陌生。以前(我不知道可能是旧版本或其他代码)console.log 会打印整个对象及其所有元数据属性,但现在它会打印 [object SequelizeInstance:users]

我尝试使用 raw:true 属性(以逃避元数据 hell ),该属性返回一个 [object Object],然后用 util.inspect 包装它以打印它。

代码:

User.findOne({
attributes : [
[sequelize.fn('max', sequelize.col('id')), 'id']
],
raw: true //if enabled
})
.then(function(user){
//returns [object SequelizeInstance:users] or if raw:true then [object Object]
console.log("User object is "+user);
//both are printed easily with this
console.log(util.inspect(user,false,null));
//OR
console.log(JSON.stringify(user, null, 4))
})

这是记录用户对象的唯一方法还是我错过了一些东西,因为以前我只能 console.log(user) 来获取所有数据(元数据 hell )?

最佳答案

第一个差异黑白(原始:true)AND(原始:错误或无):

// When raw : true --> Will return plain json object nothing added from sequlize 
console.log("User object is "+user);

// When raw : false --> Will return sequlize object , so that you can perform verious opreation upon them
console.log("User object is "+user);
user.update({ name : 'New Name' }) // <-- Like this , you dont need to define where , coz its already object that is returned by sequlize
<小时/>

您获得 [Object Object] 和 [object SequelizeInstance:users] 的原因是:

console.log("User object is "+user); // Will show [Object Object] cos you are appending object with string
console.log("User object is " , user); // This will print out whole object clearly

关于node.js - Console.log 打印 [Object SequelizeInstance :User],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52048130/

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