У меня есть метеорное приложение, состоящее из «блокнотов», каждый из которых содержит массив «заметок», которые можно вставлять в любую позицию, удалять или редактировать строки. Этот массив содержится внутри объекта с множеством другой информации (например, имя, пользователи и т. Д.). Каждый объект в моем основном документе будет содержать один из этих массивов. Например:Публикация встроенного массива документов в Meteor
{
"_id": "1234",
"name": "NotePad123",
"notes": [ {note: "this is my first test note"},
{note: "this is my second test note"},
{note: "this is my third test note"} ]
},{
"_id": "4321",
"name": "NotePad321",
"notes": [ {note: "noteA"},
{note: "noteB"},
{note: "noteC"} ]
}
Есть ли способ, что я могу передать «записку» в качестве своей собственной коллекции моего клиента так, что клиент может непосредственно редактировать его, как если бы не было вложены? Я беспокоюсь о хите производительности, если мне нужно передавать полный блок заметок на сервер каждый раз, когда я хочу его обновить, так как может быть много обновлений, он может стать довольно большим.
Я понимаю, что я могу создать новый документ и указать его as described here, но это может стать довольно беспокойным со многими «блокнотами», поскольку упорядочение важно, и у меня будет много строк, связанных с каждым из моих основных объектов.
что где выбор денормализацию или не должно быть сделано для определения вашей БД схемы: если вы ожидаете много нот детали, но в блокноте всегда есть те же заметки, или, по крайней мере, они не чересчур часто, тогда может быть разумным иметь заметки в своей коллекции. – MrE
Посмотрите на это: http://blog.mongodb.org/post/87200945828/6-rules-of-thumb-for-mongodb-schema-design-part-1 для получения дополнительной информации о денормализации – MrE
Я ожидаю, что каждый блокнот будет имеют уникальный набор нот, но набор нот может быть порядка 100's-1000. Я также беспокоюсь о быстрых обновлениях набора заметок. У меня возникает ощущение, что мне просто нужно, чтобы набор заметок был его собственной коллекцией со ссылкой на блокнот (как и в SQL DB). – Fozefy