Kinvey Data Relation
Привет на всички,
Извинявам се предварително, понеже е възможно това да е било разисквано/обсъждано вече.
Малко е късно либе за китка, но имам следният въпрос :
Както в примера с книгите и коментарите по JS (началото на курса), в краят на упражнението по JS беше дадено :
Add functionality to add comments for each book. You may add additional table row to display the comments:
Дотук добре, като стигнем до този момент :
A better approach would be to have two collections “books” and “comments” and to reference the “book” entity from “comments” entity, as it is described in the Kinvey documentation:
Поиграх си с Kinvey доволно време, и разгледах доста документацията им http://devcenter.kinvey.com/rest/guides/datastore#RelationalData.
Сега проблема идва, че :
An app must define the following attributes for setting up a reference.
Name | Type | Value |
---|---|---|
_type |
string |
KinveyRef |
_id |
string |
_id of the entity referred to |
_collection |
string |
name of the collection that stores the entity referred to |
В случая да кажем, че направим библиотека с книги, и за всяка книга коментари, както в упражнението.
Което реално значи :
_id в Kinvey се създава автоматично, само когато Kinvey приеме данните, демек като създадеш коментара.
За книгата : _id-то може да кажем, че може да го направим пвсевдо-уникално като "име на книга" + "автор".
За коментара : няма как да е уникално ID-то, освен "име на автора" + "datetime"?
Добре, да оставим и горният проблем настрана - като създаваме коментара, как го асоцираме със съответната книга?
Попринцип post-ваме коментара по ID-то на книгата, как взимаме ID-то на книгата? Неможем по име, понеже името не е уникално.
Защото като list-ваме книгите, ние никъде не пазим ID-тата на книгите - трябва нова GET заявка да вземем на коментара parent-a (ако сме с таблици)?
Глобална променлива може да помогне, ама нещо връзката м/у колекциите ме бърка и какво да се прати към Kinvey? (за да може да се get-не после и да се resolve-ва)
Поздрави,
Влади
Добро утро,
Много благодаря за отговора.
Оправих нещата, мъчих , накрая ми зареждаше коментарите накрая - причината беше че имах 2 AJAX заявки.
Втората не беше нужна, понеже едната таблица има референция (демек има всички необходими данни от другата) и ставаше асинхронизация :))))
Остана само да направя работата със коментара да взима ID-то на рецептата при създаване.
Темата може да се затвори.
Поздрави,
Владo