Я занимаюсь разработкой API с использованием CodeIgniter и MongoDB.В этой системе есть пользователи, загружающие файлы.Пользователи могут «любить» файлы, которые они видят.Я немного не уверен, как сохранить «лайк» в документе пользователя.
Лучше всего сохранить только идентификатор файла?А затем вставьте идентификаторы в массив лайков в документе пользователя, или лучше сохранить немного больше данных о файле, таких как идентификатор и имя файла (оба никогда не изменятся)?
Итак, вместо
likes : [12121,121212,12121211212]
Я сохраняю:
likes : [{filename: 'test.pdf', id: '11312212'}]
Преимущество последнего состоит в том, что мне не нужно перебирать все идентификаторы и получать имя файла, которое может быть сотнями запросов к базе данных, а не просто выводить их.
Недостаток второго подхода заключается в том, что каждое "подобное" занимает немного больше места в базе данных.Но стоит ли это того?