Smart hasMany relationship in mongoDB

Smart hasMany relationship in mongoDB

Context: As a user I want to display records that have a belongsTo relationship to another record as related data of this record.

Parent collection: user

Child collection: visualization

Models definition

models/user.js

// This model was generated by Lumber. However, you remain in control of your models.
// Learn how here: <https://docs.forestadmin.com/documentation/v/v6/reference-guide/models/enrich-your-models>
const mongoose = require('mongoose');

// This section contains the properties of your model, mapped to your collection's properties.
// Learn more here: <https://docs.forestadmin.com/documentation/v/v6/reference-guide/models/enrich-your-models#declaring-a-new-field-in-a-model>
const schema = mongoose.Schema(
  {
    avatar_link: String,
    client: { type: mongoose.Schema.Types.ObjectId, ref: 'client' },
    date_added: Date,
    email: String,
    first_name: String,
    last_name: String,
    user_type: String,
  },
  {
    timestamps: false,
  }
);

module.exports = mongoose.model('user', schema, 'user');

models/visualization.js

Declaration of the relationship

As the relationship that is not present in your database structure, declare it at the level of the forest folder.

forest/user.js

Implementation of the get route for the relationship

The route to get the related visualizations when you are on a user page needs to be implemented in the routes folder.

routes/user.js

Last updated

Was this helpful?