我目前面对考虑用于构建软件的内容 - 系统需要处理如下复杂性: - 用户管理(例如:培训师登录 - 客户登录)
不同的仪表板(取决于用户个人资料)
锻炼生成器(培训师必须能够创建锻炼计划并发送(电子邮件)并附上(客户可以在系统中查看锻炼计划)程序给客户)
饮食计划(与上述非常相似)
锻炼库
预订/日历(客户应该可以预订培训师)
培训日志等......
正如你所看到的,会有很多关系/绑定等,以及个性化(Dashboards)等...我认为你明白了:) - 但是,我是一个前端开发人员,我确实有PHP经验和mySQL (但是很久以前) - 所以问题是......这个系统是否可以用ex:Angular,Express,Mongo和Node完全构建 - 或者我是否必须依赖像mySQL这样的数据库系统并使用ex:PHP对于系统?
提前获得任何答案:)
答案 0 :(得分:1)
在我看来,如果你对PHP和MySQL的实践经验足够好,你应该继续使用PHP和MySQL部署你的应用程序,使用MongoDB作为附加数据库。
我知道MEAN堆栈可以启动你的完整应用程序,但开发时间会更长,而且我在使用MongoDB超过PB级数据时所感受到的是MongoDB非常适合在平面架构中存储复杂数据体积庞大。但就像所有数据库一样,即使MongoDB也有一定的限制。
您应该继续使用MySQL来获取常用的登录凭据和次要活动,用于存储饮食计划,锻炼库使用MongoDB。因为这为您提供了不同文档结构和高可用性的灵活性。随着时间的推移,你会发现MongoDB比MySQL更容易使用。
使用MEAN Stack很棒。但是,现在我更喜欢使用MySQL,MongoDB和PostGres的混合架构。如果您打算使用任何框架,它可能会在其中包含ACL或作为附加组件提供,这可以帮助您构建用户的权限和角色。
此外,如果您使用的是MongoDB,请确保根据引擎MMAP或WiredTiger进行编码,因为存储引擎的更改,我不得不进行重大的重新编码。只是一个抬头!
答案 1 :(得分:0)
是的,可以构建像MEAN这样的纯JavaScript堆栈:MongoDB,Angular,Express,Node.js
MySQL所做的一切,MongoDB也可以做到。问题仅在于适当的数据库设计和特定用例的性能。