json - 如何在打字稿中从graphql nestjs服务器读取和写入json文件
问题描述
我目前正在使用 React、Redux、ApolloClient (typescipt) 作为前端,我在后端使用 nestjs 和 graphql。从前端发送的数据存储在 graphql 的内存中,当服务器刷新时,数据会丢失。我不想拥有数据库,而是想使用 JSON 文件来存储数据并在服务器启动以填充前端时从 json 加载数据。
我有点困惑 JSON 文件的连接将来自服务器端。以及 graphql 将如何连接到 JSON。
如果有人可以指导我,那将非常有帮助。
谢谢
解决方案
不太清楚为什么要在数据库上使用文件,但与 JSON 文件的连接将来自服务器端(显然)可能通过fs
具有类似功能的包readFile
及其writeFile
同步变体。您将需要某种服务层,位于 GraphQL 解析器和文件读/写服务之间,以促进业务逻辑。
您可能会发现创建多个文件读取器/写入器并将每个不同实体的文件作为单独的文件进行管理是有利的(同样,可能与您拥有的实体数量无关)。
GraphQL 并没有真正连接到 JSON 文件,就像 RESTful 调用没有连接到 JSON 文件一样,它们是通过 Internet 传输/请求数据的协议和方法。由您的服务器充当请求和文件之间的中介,检索/存储预期数据并告诉响应如何对请求作出反应。
总的来说,使用数据库将是一个更健壮、更牢固的解决方案,但如果你绝对想要的话,你可以让它与文件一起工作(尽可能多的反模式)。
推荐阅读
- python - 如何通过另一个python脚本循环N次python脚本?
- html - 如何为特定的 CSS 网格项目创建完美的正方形?
- javascript - EEL全屏GUI
- wai-aria - aria role=在空标题元素上的演示
- vba - 如何创建循环以从 Excel 上传到 PostgresSQL 表
- php - 如何根据用户角色隐藏具有给定属性的 WooCommerce 产品?
- javascript - Javascript/Jquery,提交前回调,更改属性值
- python - Creating a column with conditions over multiple rows
- ruby - 特定页面上带有 Jekyll 404 的 Github 页面
- asp.net - ASP NET Identity 为什么要加密规范化的用户名而不是用户名?