roger alves

+ Follow
since Nov 06, 2020
Cows and Likes
Total received
In last 30 days
Total given
Total received
Received in last 30 days
Total given
Given in last 30 days
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by roger alves

im creating an api for school project using node, typescript and moongose and i have a question about this:.

I have an agregate that have, as agregate root, the Entity "Path".

This path have some simple fields like name or whatever and an array ( or list) of "PathNodes"

PathNodes is an Entity inside this agregate but dont have an id ( teacher said that, whatever it means)

Path nodes have 2 Nodes, one inicial node and one final node -Node is the Entity of another agregate and is already implemented.

My question is how should i implement both the domain class of Path and PathNode and also how to implement the Schema for this ( i know i could use the schema as "domain" classes but teacher dont want that).

What im thinking is somehting like this

                               ---PathNode.ts ---
 import Node from '...'

Class PathNode
private Inicialnode : Node
private FinalNode : Node  
constructor(nodei:Node, nodef:Node   ){
this.Inicialnode =nodei; this.FinalNode  =nodef;

                               ---PathNodeSchema.js --- Shcema{  
nodei: { type: Schema.Types.ObjectId, ref: 'Node' },
nodef: { type: Schema.Types.ObjectId, ref: 'Node' },} }    

                                   ---Path.ts ---  

import PathNode from '...'

Class Path  

private name: String
private PathNode: PathNode[];

  constructor(obj :PathDTO   ){ =;
for(pathNodes of obj.pathnodes){
this.pathNodesTemp = new PathNode(pathNodes );

                            ---PathSchema.js --- Shcema{  name: String ,
PathNode:[ { type: Schema.Types.ObjectId, ref: 'PathNodes' }],  }

What do you think of this? im also confused becouse i have a repository for path, but not for pathnodes as path is the agregate root. Inside the repository if i do PathSchema.create(path) will it create the path document along with the pathnodes? Or do i need to PathNodeSchema.create(pathNode) first?

as Path have a list of PathNodes, maybe PathNode should reference the Path it belongs to instead of Path referencing many PathNodes? If yes how should i implement it?

Thank you