我是NodeJS和SailsJS的新手,之前曾使用过Rails或PHP。
我想将SailsJS与OrientDB一起使用。最好的方法是什么?到目前为止,我发现了两种选择,但信息量还不是那么好。
与Waterline一起使用,而此sails adapter for orientdb
再深入一层,使用binary adapter from nodejs
任何帮助,技巧,提示将不胜感激。我有点迷茫,但很高兴了解更多有关这些出色工具的信息。
谢谢!
最佳答案
您现在可能已经找到了答案,但是我的是供将来参考。
适配器与OrientDB驱动程序
我知道目前有3个针对Waterline / SailsJS的OrientDB适配器:
sails-orientdb-binary(由您引用);
sails-orientdb;
waterline-orientdb。
给定代码量,提交次数和在每个代码上花费的时间,我会说使用其中之一(并且可能会有所贡献)比沿另一条路线更好。在SailsJS中使用其中之一应该是即插即用的,并且它们还应该与蓝图控制器兼容(我说应该是,因为我的经验确实是水线而不是太多的SailsJS)。另一方面,由于所有查询在到达Oriento之前都会经过水线和适配器,因此可能会稍微降低性能。只有在性能绝对至关重要的情况下,我才直接进入Oriento,即使Sails-orientdb和waterline-orientdb都公开了返回本地Oriento .getDB()
对象的db
方法。因此,适配器为您提供Oriento以及验证,自动类创建(通过模型)以及与SailsJS的轻松集成,这是两全其美的方法:)
使用哪个适配器
sails-orientdb-binary
这是我经验最少的。
上次提交:2014年11月8日(共4次提交);
实现了水线接口:不确定,未在package.json中提及;
自动化测试:无travis.yml或表明它通过了水线适配器测试;
“ oriento”:“〜0.3.1”:这已经很老了,不支持OrientoDB 2.0。
东方帆
这似乎是最古老的适配器,也是我有经验的适配器。
上次提交:2014年12月25日(共45次提交);
已实现水线接口:semantic
,queryable
。没有associations
接口,这意味着水线核心将处理将无法充分利用特定于图形的命令的联接;
自动化测试:设置travis.yml,但如果要访问travis-ci.org/vjsrinath/sails-orientdb,则说0通过1失败;
“ oriento”:“ ^ 0.3.2”:再次是oriento的旧版本。
面向水线
这是sails-orientdb的一个分支,最近看到了很多进展。
上次提交:2015年2月26日(共421次提交);
已实现水线接口:semantic
,queryable
,associations
和migratable
。联接是通过带有提取计划的单SELECT
查询执行的;
自动化测试:travis.yml设置。除了通用的225条水线适配器测试之外,它还具有另外的28个单元测试和68个集成测试,所有这些都通过OrientDB v1.7.10和v2.0.2。
“ oriento”:“〜1.1.0”:到目前为止的最新版本。
因此,冒着听起来有些冒昧的风险,我是waterline-orientdb的开发人员,我相信waterline-orientdb是当前最成熟的SailsJS OrientDB适配器。它具有更丰富的功能,它是最新的并且经过了更好的测试。
更新:waterline-orientdb现在称为sails-orientdb,由提到的3个适配器的开发人员维护。