如何在SailsJS App中使用OrientDB

时间:2014-12-08 22:22:00

标签: javascript node.js sails.js orientdb waterline

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

我想将SailsJS与OrientDB一起使用。什么是最好的方法?到目前为止,我找到了两个选项,但信息量并不是那么好(还)。

  1. 使用Waterline和此sails adapter for orientdb
  2. 更深入一级并使用binary adapter from nodejs
  3. 任何帮助,提示和提示将不胜感激。我有点迷失,但很高兴能够更多地了解这些伟大的工具。

    谢谢!

1 个答案:

答案 0 :(得分:1)

你现在可能已经找到了答案,但今后我的参考是我的。

适配器与OrientDB驱动程序

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

考虑到代码量,提交量和每次花费的时间,我会说最好使用其中一个(并且可能有所贡献),而不是走另一条路线。使用SailsJS中的一个应该是即插即用的,它们也应该与蓝图控制器兼容(我说应该因为我的经验确实是水线而不是SailsJS)。另一方面,由于所有查询在到达Oriento之前都会通过水线和适配器,因此可能会有轻微的性能损失。只有当性能绝对关键时,我才会直接转向Oriento,即使如此,sails-orientdb和waterline-orientdb都会公开一个返回本地Oriento .getDB()对象的db方法。因此适配器为您提供Oriento plus验证和自动类创建(通过模型)以及与SailsJS的轻松集成,这两者都是最好的:)

使用哪个适配器

帆-orientdb二进制

这是我最没经验的人。

  • 上次提交:2014年11月8日(共有4次提交);
  • 实现了水线接口:不确定,在package.json中没有提到;
  • 自动化测试:没有travis.yml或表明它通过水线适配器测试;
  • " oriento":" ~0.3.1":这个相当陈旧,不支持OrientoDB 2.0。

帆-orientdb

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

  • 上次提交:2014年12月25日(45次提交中);
  • 实施了水线界面:semanticqueryable。没有associations接口,这意味着水线核心将处理不会充分利用图形特定命令的连接;
  • 自动化测试:设置了travis.yml,但是如果你需要travis-ci.org/vjsrinath/sails-orientdb,则说0传递1失败;
  • " oriento":" ^ 0.3.2":又一个旧版本的东方人。

水线-orientdb

这是一个sails-orientdb的分支,最近看到很多进展。

  • 最后提交:2015年2月26日(在421项提交中);
  • 实施了水线界面:semanticqueryableassociationsmigratable。联接由带有获取计划的单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个适配器的开发人员维护。