javascript - 结合 Mongoose 和 Sails Waterline 的 Node.js

标签 javascript node.js mongodb express sails.js

我正在使用 Node.js 开发一个基于开源微服务的项目。

问题描述

一些微服务非常薄,只与 MongoDB 交互,所以我没有在那里使用 Sails,而更喜欢直接使用 Mongoose。因此,我已经为我需要在 mongo 中保留的每个对象实现了 mongoose 模式。

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

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

我想到的解决方案

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

现在有3个选项:

  1. 连接模式(我不知道)并让两个世界同时工作(可能性最小的选项)的神奇方法。

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

  3. 强制 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/

相关文章:

Javascript jQuery 是否可以调用点击函数

javascript - Sails 政策 - 通过协会搜索

javascript - 在本地使用 MongoDB( Electron )?

java - ant 通过 npm 安装 - 需要 node 0.8.0+ 但安装失败?

node.js - 创建 React 应用程序 http-proxy-middleware 不工作

mongodb - 使用 docker 挂载卷后如何避免 uid/gid 1000 的权限被拒绝?

mongodb - 将本地 mongo 集合部署到 meteor.com 服务器

javascript - 创建javascript对象的区别

javascript - 从 Chrome 控制台写入文件

javascript - 通过 javascript 传递 id 和 name