ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

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

2022-08-31 08:30:08  阅读:232  来源: 互联网

标签:网关 NodeJS 创建 数据库 应用程序 交易 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

标签:网关,NodeJS,创建,数据库,应用程序,交易,MongoDB,我们
来源: https://www.cnblogs.com/amboke/p/16641663.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有