findOne 中的 Sequelize 属性返回所有字段

Sequelize attributes in findOne returning all fields

我有

db.User.findOne({
  attributes: ['id', 'firstName', 'lastName', 'email', 'phoneNumber', 'createdAt', 'type', 'status'],
  where: {
    id: id
  }
}).then(function(dbUser) {
  console.log(dbUser);
});

它返回所有字段,而不仅仅是我在 attributes 中指定的字段。我做错了什么?

db.animals.findOne({ },{_id:0, numlegs:1,class:1, name:1}) returns 仅特定字段。

根据文档,您绝对没有做错任何事。我看到了类似的行为。 Sequelize 似乎正在经历一些成长的烦恼。 :\

提供的代码至少适用于版本 7。

const user = await User.findOne({
    attributes : ['id','name','email','contact'],
    where: {email:req.body.email}
});

邮递员的回复

{
"status": "success",
"user": {
    "id": 1,
    "name": "admin",
    "email": "admin@eatanddrink.io",
    "contact": "0724466628"
 },
}