Помогите пожалуйста, не хватает логического(технического мышления) в голове не могу логическую цепочку замкнуть
Надо придумать решение, что бы всегда в бд были уникальные данные
И так, есть парсер, паршу доски объявлений
1.Получаю данные, массив записываю как строку
2.JSON.parse(data) распарсил, отдал боту (Допустим пришло 10 объектов)
3.Делаю повторно запрос
И тут у меня логический провал, как мне сравнивать данные
а) Допустим первый раз пришло 10 объектов, им нет пары - я их все отправил боту.
б) Второй раз делаю запрос, получаю 10 объектов еще сверху, 10+10 = 20, каждому объекту есть пара, сравниваю объект = объект - удаляю (если ничего не менялось).
(ну в базе данных накапливать информацию не знаю хорошее ли решение), поэтому считаю, что надо удалять пары
в) Ну допустим если что-то поменялось, было 10 объявлений, пришло еще 10 новых(5 из них уникальных)
1-obj {a:'a'} - ------ {a:'a'}
2-obj {a:'a'} - ------ {a:'a'}
3-obj {a:'a'} - ------ {a:'a'}
4-obj {a:'a'} - ------ {a:'a'}
5-obj {a:'a'} - ------
{b:'b'}
6-obj {a:'a'} - ------
{b:'b'}
7-obj {a:'a'} - ------
{b:'b'}
8-obj {a:'a'} - ------
{b:'b'}
9-obj {a:'a'} - ------
{b:'b'}
10-obj {a:'a'} - ------
{b:'b'}
и тут уже возникают проблемы первые объекты перезатрутся, а нижнее {a:'a'} хоть и не уникальны, отправятся в бота
г) Если я получил 10 уникальных объектов, сделал запрос повторно, получил еще 10 объектов, они перезатерлись все ок(если не было новых объявлений), но если я делаю третий раз запрос, то у меня нет пар новым значениям и они все считаются уникальными
что мне емае делать, как выйти из этой ситуации
сравнивать по дате публикации я не могу, ибо у всех площадок разные форматы (кто-то постит только время, кто-то дату, кто-то вообще не отдает данные, вроде "Новое", "Недавнее" и.т.д)
Я думал еще про вариант с current date, но опять же я не могу сравнивать карент дату с разными форматами обновления на сайте(строчка выше)(ну либо не понимаю как это делать