請原諒我在使用 Sequelize 大約一周后的有限知識,
Models.PlannerModel.Builds.findAll({
raw: true,
where: {
ProposedDelivery: { [Op.gt]: moment().format("YYYY-MM-DD") },
description: { [Op.ne]: null },
description: { [Op.ne]: " " },
description: { [Op.not]: null },
},
include: [
{
model: Models.PlannerModel.Unit,
required: true
},
],
上面的結果與您預期的一樣,除了包含中欄位的所有鍵都是字串,因此在我的 Pug 模板/類中參考它們必須用括號完成
總體而言不是世界末日,只是想知道我是否做錯了什么?
干杯!
uj5u.com熱心網友回復:
關閉raw以獲取嵌套模型物件并獲取get({ plain: true})用于每個回傳的模型實體的普通物件:
const builds = await Models.PlannerModel.Builds.findAll({
where: {
ProposedDelivery: { [Op.gt]: moment().format("YYYY-MM-DD") },
[Op.and]: [{
description: { [Op.ne]: null },
}, {
description: { [Op.ne]: " " },
}, {
description: { [Op.not]: null },
}
]
},
include: [
{
model: Models.PlannerModel.Unit,
required: true
},
]
})
const plainBuilds = builds.map(x => x.get({ plain: true }))
請注意我用description. 在您的條件版本中,只有最后一個會起作用,因為如果同一物件中有多個相同的鍵,JS 只會保存最后一個鍵。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/456166.html
上一篇:為什么req.body在POST請求的控制臺中回傳一個空物件?
下一篇:我應該將此async/await和.exec與mongoose和google-auth-library一起使用嗎?
