Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.js结合Mongoose和Sails水线_Javascript_Node.js_Mongodb_Express_Sails.js - Fatal编程技术网

Javascript Node.js结合Mongoose和Sails水线

Javascript Node.js结合Mongoose和Sails水线,javascript,node.js,mongodb,express,sails.js,Javascript,Node.js,Mongodb,Express,Sails.js,我正在Node.js中从事一个基于开源微服务的项目 问题的描述 有些微服务非常精简,只与MongoDB交互,所以我没有在那里使用SAIL,而是更喜欢直接使用Mongoose。因此,我已经为我需要在mongo中持久化的每个对象实现了mongoose模式 我还将在其他一些微服务中使用Sails.js,因此我必须为我想要在那里持久化和查询的对象实现水线类型模式 问题是模式的重复,我发现这是无用的 我想到的解决办法 我希望在所有服务中使用一种模式 现在有3种选择: 这是一种神奇的方法,可以在我不知道的模

我正在Node.js中从事一个基于开源微服务的项目

问题的描述 有些微服务非常精简,只与MongoDB交互,所以我没有在那里使用SAIL,而是更喜欢直接使用Mongoose。因此,我已经为我需要在mongo中持久化的每个对象实现了mongoose模式

我还将在其他一些微服务中使用Sails.js,因此我必须为我想要在那里持久化和查询的对象实现水线类型模式

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

我想到的解决办法 我希望在所有服务中使用一种模式

现在有3种选择:

这是一种神奇的方法,可以在我不知道的模式之间进行连接,并让两个世界同时工作,这是一种可能性最小的选择

要在所有微服务中使用Waterline,无论我是否使用Sails.js,因此系统中有1种模式类型

强制Sails.js使用mongoose适配器而不是Waterline,然后实现一些内部使用mongoose的CRUD数据访问层DAL,并在任何地方使用它访问数据库。 因此,猫鼬模式将覆盖整个系统。但是我放弃了水线封装功能,如果将来我想更改DB,我会遇到麻烦


我也可以在我的应用程序中折衷和复制模式,但这是最后的手段,因为我相信必须有一些解决方案来解决这个问题。

我可以想到以下几点来充分发挥作用:

将常见部件(如Sails模型)放入Sails项目中,并将其推送到专用npm包中 使用或其他sails钩子在您需要的每个实例中导入它们。 我没有尝试过这一点,但正在为将来类似的步骤做准备


此外,我看到了这个问题:

我可以想到以下几点来充分发挥作用:

将常见部件(如Sails模型)放入Sails项目中,并将其推送到专用npm包中 使用或其他sails钩子在您需要的每个实例中导入它们。 我没有尝试过这一点,但正在为将来类似的步骤做准备


我也看到了这个问题:

< P> >谁考虑水线对猫鼬…直到今天,选择猫鼬


《水线》让我们头疼得厉害,而猫鼬是那么光滑和直爽。直到今天,选择猫鼬


吃水线让我们头痛不已,而猫鼬则是如此的顺滑和直截了当。

我不知道马林梭鱼能帮我什么忙。在我需要的每一个实例中导入它们都很容易-我在任何地方都安装我的npm模型包…总之,我必须在所有没有帆的项目中使用Waterline,这是你的意思吗?对不起,是的。这就是我要推荐的,这里是水线ORM独立实现的示例项目:我不明白marlinspike会如何帮助我。在我需要的每一个实例中导入它们都很容易-我在任何地方都安装我的npm模型包…总之,我必须在所有没有帆的项目中使用Waterline,这是你的意思吗?对不起,是的。这就是我要推荐的,这里是水线ORM独立实现的示例项目: