Node.js结合mongoose和Sails水线

我在Node.js上开发基于开源微软服务的项目。

问题描述

一些微服务是如此薄,只与MongoDB交互,所以我没有在那里使用Sails,并且首选直接使用Mongoose。 因此,我已经为我需要在mongo中坚持的每个对象实现了mongoose模式。

我还将在其他一些微服务中使用Sails.js,因此我将不得不实施Waterlinetypes的模式来保存和查询对象。

问题是模式的重复,我发现它是无用的。

我想到的解决scheme

我希望在所有的服务中使用一种types的模式。

现在有3个选项:

  1. 一个神奇的方法来连接模式(我不知道),并有两个世界同时工作(最不可能的select)。

  2. 为了在所有的微服务中使用Waterline,无论是否使用Sails.js,因此在系统中有1个模式types。

  3. 为了强制Sails.js使用mongoose适配器而不是Waterline,然后实现一些内部使用Mongoose的CRUD数据访问层(DAL),并在任何地方使用它来访问数据库。 因此,mongoose模式将贯穿整个系统。 但是后来我放弃了Waterline的封装function,如果将来我想改变DB,我会遇到麻烦。

我也可以在我的应用程序中妥协和重复模式,但这是最后的手段,因为我相信这个问题必须有一些解决scheme。

我可以想到以下几点:

我没有尝试过这个,但是准备在将来采取类似的步骤。

另外,我看到这个问题: https : //github.com/tjwebb/marlinspike/issues/4

谁认为水线对mongoose…对这个date,selectmongoose。

水线让我们感到非常头痛,而mongoose是如此顺利和直接。