javascript - 有没有办法在 node.js 中读取和写入二维数组到 .db 或 .txt 文件
问题描述
我对这个领域真的很陌生,刚开始我的第一个项目,而不是使用复杂的数据库,我只想将一个简单的二维数组(表)存储到文件中,以便以后检索它,我确实查看了fs.writeFile但它似乎不接受这种格式的数组...
我对这个领域真的很陌生,所以如果有任何其他存储数据的方式,或者如果这是一种非常糟糕的存储数据方式,那么请建议我该怎么做
var myArray = [
["bob","john","jack"],
[62,31,11],
["employed","unemployed","uneligible"],
["engineer","doctor","student"],
["21/09/2021","28/11/2021","16/12/2021"]]
如何将其保存到文件(任何文件)以供以后使用
// something like this
writeToFile( "./info.db" , myArray )
// inside the file info.db
[["bob","john","jack"],[62,31,11],["employed","unemployed","uneligible"],["engineer","doctor","student"],["21/09/2021","28/11/2021","16/12/2021"]]
并且为了将该数组作为数组返回,我确实尝试使用带有 utf8 编码的 readFileSync,但是当我尝试读取数据 [0] 时,我将数据作为缓冲区返回,我得到了字符串的第一个字符“ [ "
解决方案
这是因为fs.writeFile
接受一个字符串作为第二个参数。所以我们可以JSON.stringify
用数据代替原始的 JS对象。
const { writeFileSync } = require('fs');
var myArray = [
["bob","john","jack"],
[62,31,11],
["employed","unemployed","uneligible"],
["engineer","doctor","student"],
["21/09/2021","28/11/2021","16/12/2021"]
];
writeFileSync('./info.db', JSON.stringify(myArray));
总的来说,使用 JSON 作为大型数据库并不是一个好习惯,因为
- 首先,它不是关系型
- 它不是 DBMS,它是一种数据格式。
推荐阅读
- laravel - 使用 laravel 和 laravel 护照创建 API 的问题
- xml - 无法从相关路径将数据存储在 xsl 变量中
- vue.js - Vuex 11:17 错误“状态”已定义但从未使用过 no-unused-vars
- linux - VS Code 的远程 WSL 扩展中的“新窗口”和 VS Code 窗口有什么区别?
- flutter - 提供商的firebase auth电话(两个屏幕之间没有切换)
- typescript - TSyringe 注入所有实现某个接口的类
- asp.net - CSS 样式仅适用于 ASP.NET Core 5.0 MVC-app 中的主视图
- git - 预提交无法在嵌套的 go 模块中发现任何 golang 文件
- google-colaboratory - Colab 笔记本保存失败
- swagger - Swagger UI:如何隐藏 Nest.js 控制器方法参数输入字段?