我计划在社交网站上工作,我想利用文档和图形数据库来实现所有所需的功能。有没有办法让 Meteor.js 或 Sail.js(或任何更好的)与 ArangoDB 或 OrientDB 一起工作?还是我应该坚持使用捆绑的 MongoDB 并集成 allegrograph DB 之类的东西?
4 回答
Sails.js 支持您提到的两个数据库:
除了 MongoDB、Postgres 和其他几十个。
Sails.js 是一个经典的 mvc 客户端-服务器 Web 应用程序框架,基本上它的 ruby on rails 是为 node.js + webscockets 实现的,所以要让它与任何后端数据库一起工作,你需要做的几乎就是对 orm 进行更改。
Meteor 是一个非常不同的野兽,它是一个非常自以为是的实时端到端 Web 框架,包括客户端服务器和数据库,它非常自以为是地解决了实时应用程序中的许多常见问题,您需要在其中快速实现一种机制更新所有客户端的彼此操作并处理诸如延迟补偿、数据冲突解决和实时客户端版本管理之类的事情,这是通过使用 Web 套接字和 mongoDB 的预写日志记录来实现数据更新的触发,使流星有点再加上mongo。
但是您可以使用新的 orientDB 实时查询 api 使 orientdb 与流星一起很好地工作。它是查询结果的 pubsub 实现,可用于从数据库通过服务器直接推送到客户端的有效更新,服务器开销很小。这远未准备好生产,目前仅适用于 orient db 2.1 rc5 版本。
我已经实现了一个小型流星演示应用程序作为示例https://github.com/imdark/meteor-orientdb-demo
请查看替代数据库帖子的 Meteorpedia,他们提到neo4j -livedata和minineo4j。
这是Atmosphere 包:ostrio:neo4jdriver
您认为不使用集成良好的 mongoDB 作为首选数据库是否有特定的经济或技术原因?
除了 Travis 的回答,我还为 Sails.js 推荐waterline- orientdb。