Skip to content

Spike: Strong relations in Cloudant & CouchDB #2343

Description

@bajtos

Research what tools are offered by CouchDB and Cloudant for ensuring referential integrity.

Come up with a proposal on how LoopBack applications should implement the following relations:

  • 1-N (hasMany)
  • N-1 (belongsTo)
  • 1-1 (hasOne/belongsTo)

For example, we can recommend referencesMany or embedsMany, but also find out that a completely new relation type is needed.

See #2127 for wider context and #1718 (comment) for explanation of strong vs. weak relations.

Acceptance criteria

  • A document explaining what mechanisms are offered by CouchDB & Cloudant to preserve consistency (integrity). (Start by studying Cloudant documentation and guides to build this understanding yourself.)
  • A proposal: what LoopBack relations we want to recommend for CouchDB and Cloudant
  • Arguments showing why we recommended the chosen relations, why other relations won't work with Cloudant/CouchDB. (This will build on top of the document from the first task.)
  • User stories to implement the missing relation types identified as needed. If needed, create spike stories to figure out implementation details of some/all of these relation types.
  • A pull request to update the overview created in Docs: what relation types will work well with my database? #2341 with our recommendation (item 2) and our arguments (item 3). If we end up recommending relation types that are not implemented yet, then the overview should be updated with links to GH stories tracking these missing features.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions