As of April 12th, you must go to Progress SupportLink to create new support cases or to access existing cases. Please, bookmark the SupportLink URL and use the new portal to contact the support team.
What is the best way to store and load hierarchies/relationships in the Data Store?
Gal
started a topic
about 10 years ago
My app contains a hierarchy of objects:
Object1
---- Object2
-------- Object3
------------ Object4
---------------- Object5
-------------------- Object6
I was able to store this hierarchical structure using KinveyReferences. When I tried to retrieve Object1 and resolve the references, I could see Object1 and Object2, but the reference to Object3 (and the rest of the objects, number 4-6) was not resolved. Is this expected behavior? What is the best way to store and load large hierarchies?
1 Comment
Gal
said
about 10 years ago
Since we use MongoDB, which is a NoSQL, non-relational database, our relational data capabilities are limited. For example, we only support resolving a maximum of 200 entities per request, and at a maximal resolution depth of 2. This maximum depth is the reason only Object2 was resolved, and not Object3.
Instead, we recommend that the data be remodeled in a less normalized fashion-- for example, if it is possible for each object to actually contain the nested objects instead of references to them, that is the recommended approach. For a more in-depth look at modeling relationships in NoSQL databases, please check the following blog post: http://www.kinvey.com/blog/71/how-to-model-data-relationships-in-your-kinvey-backend
Additionally, there are many articles and guides on the web detailing the different approaches one should take when modeling your data for NoSQL databases.
Gal
Object1
---- Object2
-------- Object3
------------ Object4
---------------- Object5
-------------------- Object6
I was able to store this hierarchical structure using KinveyReferences. When I tried to retrieve Object1 and resolve the references, I could see Object1 and Object2, but the reference to Object3 (and the rest of the objects, number 4-6) was not resolved. Is this expected behavior? What is the best way to store and load large hierarchies?