这是我已经从事一段时间的项目,并且使用了几种不同的技术。
1)NodeJS —后端
2)MustacheJS-前端
3)数据库— MongoDB和Mongo Compass和Robo3T
4)部署-Heroku和Mlab
这是我遇到的一些问题,并且在计划类似项目或决定使用其中一种技术时要记住一些注意事项。
日期和时间戳:我最近在该项目中遇到的一个问题是,Mustache无法执行任何日期格式化。 解决此问题的方法通常很笨拙。 据我所知,把手比胡子具有更好的日期格式,因此,如果您决定使用需要某种日期或时间戳的模板引擎,那么胡子可能不是您的最佳选择。
参考和人口:我在这个项目中发现的另一个问题涉及参考和人口。 我所做的唯一引用是一对一关系,只需将引用包含在模型中即可。 我也尝试做一个类似的参考和总体,其中存在一对多和多对多的关系。 事实证明,这比较困难,而且我能够解决,但是发现MongoDB中的这些复杂操作并不总是能正常工作。 如果您正在计划一个需要数据库的项目,并且数据库集合/表需要多个关联,那么使用关系数据库而不是基于文档的数据库可能会更容易。
使用mlab进行部署: mlab与我的应用程序非常容易集成。 当我尝试连接mlab时,已经创建了我的模型和路由,因此,一旦建立了mlab帐户,只需更改连接和端口即可。 我强烈建议将其用于任何MongoDB / Heroku项目。 沙盒数据库是免费的,存储空间有限,对我来说算是不错的选择。 如果您的项目是协作项目,添加其他用户也很容易。
数据库可视化:我实际上研究了Mongo提供的其他产品,例如Compass和Atlas。 我最初打算将Atlas用于我的在线数据库,但是选择了Mlab,因为如果您已经将应用程序部署到了我的Heroku中,那么使用Mlab似乎更容易。 我认为定价和结构相似。 但是,我确实有机会使用Mongo Compass进行本地数据库可视化。 在Compass之前,我一直在使用Robo3T进行数据库可视化。 我只想说,没有可比性。 Robo3T非常简约,在Compass中,您可以查看更多内容,并更轻松地与本地数据库进行交互。
无论如何,这些只是我在此过程中发现的一些问题和发现。 希望您能找到有用的信息。 以下是已部署的状态跟踪器的链接,因此您可以注册,测试并向我提供一些反馈。 我的长期目标是建立一些可视化的统计数据,以便您可以看到进行某些活动的时间或花费在某些活动上的时间的图表。 但是,对此简单版本的任何反馈将不胜感激。 我还包括了git hub,所以也可以随时检查一下。 谢谢!
From: https://hackernoon.com/creating-a-simple-stat-tracker-with-node-js-mustache-3fcfadea23c8