IndexedDB e relacionamentos muitos-para-muitos

Como vocês estão lidando com relacionamentos muitos para muitos no IndexedDB?

Por exemplo, digamos que eu tenho umBlog objeto para armazenar uma postagem no blog e umTag objeto para uma tag / rótulo da postagem do blog. 1Blog pode ter muitosTags e umTag pode ser usado por muitosBlog s.

Eu criaria umblog store etag store (embora eu esteja aberto a sugestões) para abrigar os dois tipos de objetos:

// ...
var blogStore = db.createObjectStore("blog", {keyPath: "blogId", autoIncrement: true});
blogStore.createIndex("title", "title", {unique: true});
var tagStore = db.createObjectStore("tag", {keyPath: "tagId", autoIncrement: true});
tagStore.createIndex("label", "label", {unique: true});

Por outro lado, posso pensar em duas maneiras de vincular as duas:

tenha umBlog.tags, que seria uma matriz deBlogTag objetos que contêmblogId etagId (e também estaria na loja para recuperação) outenha umBlog.tags, que seria uma matriz detagIds que poderiam ser usados para procurar oTag s.

A primeira maneira parece mais complicada, mas é como isso seria resolvido no SQL. Isso é apenas bagagem SQL que devo deixar para trás?

Suponho que uma terceira maneira seria terBlog.tags seja uma matriz deTags. Parece mais simples, mas não pude consultarTags ou reutilizar tags nos blogs (ou posso?).

Alguém mais lidou com essa situação com o indexedDB? Se sim, o que você acabou fazendo? Quais foram algumas armadilhas?

questionAnswers(1)

yourAnswerToTheQuestion