Как сделать отношение "многие ко многим" в хранилище синхронизации браузера?

Я создаю расширение, которое позволит пользователям помечать комментарии. В базе данных SQL я бы создал такие таблицы:

comments:
  id int
  text string

tags:
  id int
  tag_name string

comment_tags:
  comment_id int
  tag_id int

Но API WebExtensions предоставляет нам довольно мало методов ( https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/storage/sync) с доступом "ключ-значение"

У меня есть идеи, как сохранить это как связку ключей, например:

{
  "comment_1": { comment data },
  "comment_2": { comment data },
  "tag_1": { tag data },
  "tag_2": { tag data },
}

где 1 и 2 - идентификаторы и для хранения отношений либо в данных комментария и тега, либо в качестве другого ключа comment_tags_1_2. Но оба варианта неудобны.

Каков типичный способ решения этой задачи?

0 ответов