首页 > 编程学习 > NodeJS 网关 — 第 2 部分:设置我们的数据库 (MongoDB)

NodeJS 网关 — 第 2 部分:设置我们的数据库 (MongoDB)

Photo by 鲁拜图尔·阿扎德 on 不飞溅

NoSQL 数据库使您可以轻松地开始使用基本模式开发项目或应用程序,并且由于可以使用这种类型的数据库跳过一致性,随着变量和交互的增加,扩展变得容易,这就是我们使用 MongoDB 作为网关的原因。这也是因为 API 应用程序(请参阅下面有关我们正在构建的项目的链接)将是保存所有最终事务或交互数据(Postgres)的应用程序。

如果您对我们正在开发的内容感到困惑,请访问以下链接:

[

我如何使用 Javascript 构建支付网关。

在大学/学院学习后(大约 5 年前),我渴望建立一个项目,不仅是为了创造收入……

媒体网

](/@nkunzecaleb/how-i-build-a-payment-gateway-using-javascript-2e4f3e52b7cd)

在上一篇文章(第 1 部分)中,我们能够添加 mongodb 和猫鼬 npm 模块到我们的网关。在这篇文章中,我们将专注于创建集合的模式,从我们的数据库集合中保存、检索、更新和删除数据。

如果您想知道集合是什么,可以将它们与 SQL 数据库中的表或关系相关联。由于 NoSQL 数据库是非表格数据库,它由类似 JSON 的文档类型的数据库组成,其中 MongoDB 是其中的一部分。因此,记录(在 SQL 数据库中)或条目是 NoSQL 中的文档,而集合是一组文档(记录)。我希望这不会令人困惑。你在这里查看更广泛的解释 NoSQL 解释 , 技术目标 和 NoSQL 数据库 .

我们将研究为一个基本的演示内部(应用程序)传输事务插入数据 transaction_id 交易类型 sender_account_id 收件人帐户 ID 数量 货币 交易记录 然后 约会时间 .

首先,我们将首先创建一个模式,简单来说就是要保存在数据库中的数据的格式。让我们继续创建一个模型文件 交易模型.ts 为我们的交易数据添加以下代码。

从代码中,我们看到除了可选的交易记录之外,所有输入都是必需的。定义架构后 事务模式 我们创建 交易模型 如第 13 行,它将用于搜索、保存和检索交易相关数据。请记住,这是基本的,我们可以继续添加更多的值或变量。

让我们继续测试我们的模型,看看我们是否可以从数据库中保存和检索数据。为此,我们将创建 3 条路由来保存和检索我们的交易数据。

  • 发布 /api/事务 创建交易
  • 获取 /api/transaction/:id 获取单笔交易的交易数据
  • 获取 /api/事务 获取所有交易

这部分更多是关于数据库的,所以我们不会深入探讨路线。现在我们可以有基本的路由来测试我们的模式。为此,我们将添加一个 正文解析器 该模块将帮助我们制作一个中间件,将我们的请求数据转换为 JSON 格式进行存储。使用下面的命令。

 npm install body-parser --save

现在我们可以将下面的代码添加到我们的 应用程序.ts 文件

 const bodyParser = require('body-parser'); app.use(bodyParser.json());  
 app.use(bodyParser.urlencoded({extended: true }));

这样我们就有了 应用程序.ts 看起来像这样

然后我们创建一个 交易 路由文件 交易.ts 在路线文件夹中。最后我们添加下面的代码:

你可以跑 npm 运行开始 构建并启动我们的服务器。

从上面的代码保存通过调用创建的事务 猫鼬开始() 对收到的请求正文数据执行功能,并在保存过程成功与否时向客户端发送响应。请参阅下面来自邮递员的屏幕截图。

The POST request for saving the transaction details (Successful)

为了获得一笔交易,我们通过 ID 路由中的参数,用于搜索类似于 交易标识 它是在事务创建期间生成的。请参阅下面来自邮递员的屏幕截图。

The GET request to retrieve a single transaction (Successful)

然后我们也可以通过在 寻找() 猫鼬的功能。请参阅下面来自邮递员的屏幕截图。

The GET request to retrieve all transactions (Successful)

在邮递员中,失败的操作将如下所示。

A failed GET request for retrieval of a single transaction.

一路走来做得很好,我们已经看到了我们将如何与数据库交互,在其他部分我们将查看从数据库中修改和删除我们的数据。

我想再次感谢您完成这篇文章,当我遍历创建支付网关的旅程时,您可以为更多这样的帖子鼓掌甚至关注我。请随时纠正我出错的地方。学习是要走的路。

接下来我们将研究路由、中间件和控制器。我尝试使这些尽可能短,以避免一口气读完一本完整的教科书。

如果您想查看完成的代码(到此阶段为止),您可以使用下面的链接从 repo 中获取它。

[

GitHub - Cank256/payie: 一个支付解决方案项目

一个支付解决方案项目。通过在 GitHub 上创建一个帐户,为 Cank256/payie 的开发做出贡献。

github.com

](https://github.com/Cank256/payie)

直到下一篇文章。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/2882/23233108

Copyright © 2010-2022 mfbz.cn 版权所有 |关于我们| 联系方式|豫ICP备15888888号