У меня очень простое приложение с сущностями «Пост» и «Комментарий».Комментарий строго принадлежит ровно одному посту.Оба объекта должны поддерживать операции CRUD.Что будет более «идиоматическим» способом создания хранилища LokiJS для этой модели: наличие двух отдельных коллекций (комментариев, сообщений) и ссылки из комментария на родительское сообщение или для добавления комментариев в виде вложенного массива в сообщениях.
Второй подход может вообще не быть жизнеспособным, поскольку вложенные элементы коллекции (комментарии) не имеют идентификаторов (есть ли способ как-то сгенерировать их в Loki?).Без идентификаторов вы не сможете выполнять CRUD-операции над элементами.
// Approach 1 - separate collection
const posts = db.addCollection('posts');
const comments = db.addCollection('comments');
const post = posts.insert({ title: 'post' });
const comment = comments.insert({
text: 'nice post', parent: post.$loki
});
// Approach 2 - nested array
const posts2 = db.addCollection('posts2');
posts2.insert({
title: 'post',
comments: [
// nested items don't have IDs, how to identify them?
{ text: 'nice post' }
]
});
Каким будет самый идиоматический способ разработки модели для этой простой задачи?