Когда я делаю вызов в базу данных и нет нужной мне строки, запрос возвращает ноль, могу ли я сделать запрос, чтобы вернуть все существующие поля
supplierRouter.get('/:supplier_id', async (req, res) => {
let [supplier] = await Promise.all([
models.supplier.model.findOne({
attributes: [
'id',
'name',
'order',
'type',
'credit_card_id',
'max_payment',
'max_percentage_profit',
'min_percentage_profit',
'status',
Sequelize.literal(`
"SupplierContact"."name" AS "contact_name",
"SupplierContact"."phone" AS "contact_phone_number",
"SupplierColor"."logo_background" AS "logo_background_color",
"SupplierColor"."light_logo_background_color" AS "light_logo_background",
"Address"."street" AS "address",
"Document"."url" AS "image",
"LL_Document"."url" AS "light_logo"
`),
],
include: [
{ model: models.supplierContact.model, as: 'SupplierContact' },
{ model: models.address.model, as: 'Address' },
{ model: models.supplierColor.model, as: 'SupplierColor' },
{
model: models.business.model,
attributes: ['id'],
through: {
attributes: [['supplier_id', 'id']],
where: { is_authorized: true },
},
as: 'Business',
require: true,
},
{
model: models.document.model,
as: 'Document',
where: { type: getTypeNum('image', 'Document') },
through: {
attributes: [['supplier_id', 'id']],
},
require: false,
},
{
model: models.document.model,
require: false,
as: 'LL_Document',
where: { type: getTypeNum('light_logo', 'Document') },
through: {
attributes: [['supplier_id', 'id']],
},
},
],
raw: true,
where: {
id: req.params.supplier_id,
'$Business.id$': { [Op.ne]: null },
},
includeIgnoreAttributes: false,
}),
]).catch((e) => console.error(e));
console.log(supplier);
res.send(supplier);
});
В этом случае я не поле "light_lo go" не должно быть. И мне нужно получить объект из БД без этого поля, если его не существует. Как я могу это сделать?