Closed xscheiner closed 6 years ago
great topic - and highly relevant to a lot us.
While we're on the subject: Apart from developer experience and maintainability of schema you mention - Mongoose has come under a lot of criticism for performance (I'm thinking specifically of populate
and doing expensive stuff application side that would be handled better by a relational database) - I'd be interested to hear what you think about this aspect too (or if that's a subject for another talk?!)
Thanks for the talk proposal - I'd like to hear some feedback from others in @lnug/organisers - but I'm happy to schedule this for January 24th
Happy New Year @xscheiner !! I hope you're well and have had a good break?
Are you good for speaking on Wednesday 24th January?
If so - a couple things we need to confirm:
20 to 25 minutes will definitely be sufficient.
We will talk about populate and issues we’ve had with it though that’s not the main focus. There will be a small code demo and some slides.
Hi @xscheiner - just checking in - are you all good for your talk next week? Feel free to share if you want any feedback or help
Hi David - thanks again for you talk in January. We've at last got everything online... https://www.youtube.com/playlist?list=PLam_80-FY3vQYf354vj8MyEa5TIV8oe-c Hopefully see you again soon.
Mongoose has helped us greatly to maintain the integrity of our data against a mongodb database. However, we are not able to share the models we use on our apis anywhere outside those apis. And Mongoose schemas are not shareable, which means we cannot consume them on any other level of our applications. This means either using conversion plugins, or else writing and maintaining some other solution. In addition, the mongoose models themselves are not shareable, which means even if we solve the schema issue, we still have at least two sets of models to maintain.
Finally, we use Typescript, which means ideally we can share schema definitions with that which would allow us to define our entities once and have those definitions propagate to all levels of our applications.
The final part of this presentation will focus on the solution we now intend to adopt as we begin to overhaul our entire architecture in the coming months.