В моем приложении есть таблица Products, содержащая различные типы продуктов. В каждой записи есть вызов столбца updateDetails
, и это объект JSON
с указанными ниже атрибутами.
const updateDetails = { time: '2020-05-28T05:53:31.540Z', userId: 1, officeId: 2}
Но в некоторых записях в таблице продуктов updateDetails
равно null
и будет обновлено после редактирования записи любым пользователем.
Мои образцы записей БД, как показано ниже.
[
{
name: 'Product 1',
type: 'a',
updateDetails: { time: '2020-05-28T05:53:31.540Z', userId: 1, officeId: 2 }
},
{
name: 'Product 2',
type: 'a',
updateDetails: null
},
{
name: 'Product 3',
type: 'a',
updateDetails: { time: '2020-05-27T05:53:31.540Z', userId: 1, officeId: 2 }
},
{
name: 'Product 4',
type: 'a',
updateDetails: null
},
{
name: 'Product 5',
type: 'a',
updateDetails: { time: '2020-05-20T05:53:31.540Z', userId: 1, officeId: 2 }
}
]
Я хотел получить продукты, отсортировав их по порядку updateDetails.time
des c и иметь записи с updateDetails = null
в конце результатов. Ожидаемые результаты, как показано ниже.
[
{
name: 'Product 1',
type: 'a',
updateDetails: { time: '2020-05-28T05:53:31.540Z', userId: 1, officeId: 2 }
},
{
name: 'Product 3',
type: 'a',
updateDetails: { time: '2020-05-27T05:53:31.540Z', userId: 1, officeId: 2 }
},
{
name: 'Product 5',
type: 'a',
updateDetails: { time: '2020-05-20T05:53:31.540Z', userId: 1, officeId: 2 }
},
{
name: 'Product 2',
type: 'a',
updateDetails: null
},
{
name: 'Product 4',
type: 'a',
updateDetails: null
}
]
Я использовал нижеприведенный запрос, но безуспешно.
const results = await Product.findAll({
{ where: { type: 'a' } },
limit: 10,
order: [['updateDetails.time', 'DESC']]
})
Но он не смог дать желаемых результатов. Заранее спасибо.