node.js - 将数据库和 API 数据结构化,使其在结构方面看起来完全相同
问题描述
我正在使用 nodejs 应用程序。我开发了一个虚拟 API,一旦我点击获取请求端点,响应就会在本地保存为 .txt 文件。该响应如下所示:
[["0",{"id":1,"name":"course1"}],["1",{"id":2,"name":"course2"}],["2",{"id":3,"name":"course3"}]];
代码如下所示:
app.get('/api/courses', (req, res) => {
res.send(courses)
const array_Of_Courses = [];
for (var key in courses){
if (courses.hasOwnProperty(key)){
array_Of_Courses.push([key, courses[key]]);
}
}
var write = fs.writeFile("Api.txt", JSON.stringify(array_Of_Courses), "utf-8", (err) => {
if (err) return console.log(err);
console.log(array_Of_Courses)
})
});
另一方面,我有一个我查询的 mssql 数据库表,并将数据在本地保存为 .txt 文件。响应如下所示:
{
"recordsets": [
[
{
"id": 1,
"Name": "course1"
},
{
"id": 2,
"Name": "course2"
},
{
"id": 3,
"Name": "course3"
}
]
]}
检索数据库对象的代码如下所示:
sql.connect(config, function(err) {
if (err) console.log(err);
var request = new sql.Request()
request.query('SELECT id, Name from api2', function(err, recordset) {
if (err) console.log(err);
res.send(recordset);
var myData = recordset;
var outputFilename = 'db.txt';
fs.writeFile(outputFilename, JSON.stringify(myData, null, 4), function(err){
if (err) {
console.log(err);
} else if (Object.values(outputFilename)){
console.log(`Successfully added data to ${outputFilename}`)
}
});
API 和数据库表都具有相同的字段。我想以这样一种方式格式化数据库记录,当我写入 .txt 文件时,API 响应的结构或外观由数据库表记录模拟。这样做的原因是,我想检查两个生成的文件是否具有相同的数据。如果不是,我想从中获取唯一值,并使用 sql 语句更新数据库。
解决方案
推荐阅读
- html - 当我们使用 flex 调整窗口大小时,自动调整具有适当间隙和宽度的 div
- sql - 我正在尝试直接从 sql server 从 excel 文件中获取记录,但它不起作用
- php - 尝试为具有动态按钮名称的电子商务网站制作结帐页面
- ubuntu - FFMPEG - 合并视频后音频丢失
- python - 如何在python中绘制元组列表?
- scala - 如何在 spark scala 中使用缓存表进行进一步查询
- c++ - 如何修复 SIGSEGV Segmentation fault 错误?
- swift - 增加导航栏的高度并从底部绕圆?
- braintree - 如何在 Braintree 插件中启用 3D-Secure 2
- javascript - 使用 import 语法而不是使用 require 时未定义 Mongoose