Waterline的使用感受
最近使用了nodejs的ORM waterline,就是sails.js框架中的那个ORM。
发现其有以下缺点:
1. 没有单独的文档,文档全在sails框架的文档中
2. 文档与ORM的API不同步
Standalone Waterline usage一节中的例子:
var user = await User.create({ firstName: 'Neil', lastName: 'Armstrong' });
user 得到的是undefined
其实,底层的API早已变更为
var user = await User.create({}).fetch()
才能得到user数据。
这个错误都需要找半天,github上存在如此的issue,也无人处理
3. 文档不完整
3.1. 想用代码,手动同步数据表到库中,没有找到合适的方法和例子,只找到一个migrate,针对sails框架的
3.2. 数据库的config配置,只有Standalone Waterline usage中的一个例子,找不到完整写法,只能类比尝试
4. 数据库migrate功能不足
model添加属性,要在mysql中手动添加列
model设置属性unique: true,需要在MongoDB中手动添加unique index
5. 项目在github上不活跃,已经9个月没有更新了
用一个组件,最关键的是,文档完整清晰,否则功能再强大也白搭。