如何在SailsJS应用程序中使用OrientDB

我是NodeJS和SailsJS的新手,之前正在使用Rails或PHP。

我想和OrientDB一起使用SailsJS。 什么是最好的方法? 到目前为止我发现了两个select,但是信息量还不是很大(还)。

  1. 与水线一起去,这是orientdb的适配器
  2. 深入一层,使用nodejs中的二进制适配器

任何帮助,提示,提示将不胜感激。 我有点失落,但非常激动,要更多地了解这些伟大的工具。

谢谢!

你可能已经找出了答案,但为了将来的参考,这里是我的。

适配器与OrientDB驱动程序

目前我知道有3个用于Waterline / SailsJS的OrientDB适配器:

  • sails-orientdb-binary(由你介绍);
  • sails-orientdb ;
  • 水线orientdb 。

鉴于代码的数量,提交和花在每个我会说的时间是更好的使用其中的一个(可能贡献),而不是沿着其他路线。 在SailsJS中使用其中的一种应该是可以插播的,而且它们也应该和蓝图控制器兼容(我认为应该是因为我的经验确实是水线而不是SailsJS)。 另一方面,可能会有轻微的性能损失,因为所有查询都将在到达Oriento之前通过水线和适配器。 只有性能是绝对重要的,我会直接去Oriento,即使如此,sails-orientdb和waterline-orientdb都暴露了一个.getDB()方法,它返回一个本地的Oriento db对象。 所以适配器给你东方加validation加上自动类创build(通过模型),加上与SailsJS,两全其美:)

使用哪个适配器

帆-orientdb二进制

这是我经验最less的一个。

  • 最后提交:2014年11月8日(4次提交);
  • 水线接口实现:不确定,没有在package.json中提到;
  • 自动化testing:没有travis.yml或指示它通过水线适配器testing;
  • “oriento”:“〜0.3.1”:这个比较老,不支持OrientoDB 2.0。

帆,orientdb

这似乎是最老的适配器,我有一些经验。

  • 最后一次提交:2014年12月25日(45次提交);
  • 水线界面实现: semanticqueryable 。 没有associations界面,这意味着水线核心将处理不会使graphics特定的命令最多的连接;
  • 自动testing:travis.yml设置,但如果你有travis-ci.org/vjsrinath/sails-orientdb它说0传递1失败;
  • “东方”:“^ 0.3.2”:又一个老版本的东方。

水线,orientdb

这是一个风帆orientdb叉,最近看到很多进展。

  • 最后一次提交:2015年2月26日(421次提交);
  • 实现了水线界面: semanticqueryableassociationsmigratable 。 连接是通过带有提取计划的单一SELECT查询来执行的;
  • 自动testing:travis.yml设置。 除了通用的225水线适配器testing之外,还有28个unit testing和68个集成testing都通过了OrientDB v1.7.10和v2.0.2;
  • “东方”:“〜1.1.0”:截至目前的最新版本。

所以,冒着偏袒的风险,我是waterline-orientdb的开发者,我相信waterline-orientdb是目前SailsJS最成熟的OrientDB适配器。 它有一个更丰富的function,它是更新,更好的testing。

更新: waterline-orientdb现在被称为sails-orientdb ,并由上述3个适配器的开发人员维护。