我正在使用 Node.js 开发一个基于开源微服务的项目。
问题描述
一些微服务非常薄,只与 MongoDB 交互,所以我没有在那里使用 Sails,而更喜欢直接使用 Mongoose。因此,我已经为我需要在 mongo 中保留的每个对象实现了 mongoose 模式。
我还将在其他一些微服务中使用 Sails.js,因此我必须为我想在那里持久化和查询的对象实现 Waterline 类型的模式。
问题是模式重复,我发现它没用。
我想到的解决方案
我希望在所有服务中使用一种模式。
现在有3个选项:
连接模式(我不知道)并让两个世界同时工作(可能性最小的选项)的神奇方法。
要在所有微服务中使用 Waterline,无论我是否使用 Sails.js,系统中都有 1 种模式类型。
强制 Sails.js 使用 mongoose 适配器而不是 Waterline,然后实现一些在内部使用 Mongoose 的 CRUD 数据访问层 (DAL),并在任何地方使用它来访问数据库。 因此,Mongoose 模式将跨越所有系统。但是后来放弃了Waterline的封装能力,以后要换DB就麻烦了。
我也可以在我的应用程序中妥协和复制模式,但这是最后的手段,因为我相信必须有一些解决方案来解决这个问题。
最佳答案
无论谁在考虑 Waterline 与 Mongoose ......直到今天,都选择 Mongoose。
Waterline让我们很头疼,而mongoose却很流畅很直白。
关于javascript - 结合 Mongoose 和 Sails Waterline 的 Node.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38058220/