Прежде всего, я новичок в node.js, и я борюсь с тем, как преобразовать данные JSON из postgres, чтобы они соответствовали тому, что мне нужно вернуть из моего API.Вот код:
function readUsers(req, res, next) {
console.log('database string is ' + process.env.DB_CONNECTION_STRING);
var client = new database.Client(process.env.DB_CONNECTION_STRING);
client.connect();
console.log(req.body);
var queryString = `SELECT * from readusersbynamejson(${req.query.user_id}, '${req.query.username}', ` +
`${req.query.limit_count}, ${req.query.offset})`;
console.log("Executing: ", queryString);
client.query(queryString, function(err, result) {
console.log("query complete");
client.end();
if (err) {
console.log("error = ", err);
return next(err);
} else {
console.log("RowCount ", result.rowCount);
var rowData = [];
result.rows.map(function(row) {
try {
console.log ("Row Data: ");
console.log(row);
console.log(row.readusersbynamejson);
//console.log("Trying to parse");
//row.data = JSON.parse(row.data);
console.log("Trying to set to subnode");
return row["readusersbynamejson"];
rowData[''].push(r)
//row.
//console.log("Result: " + row);
} catch (e) {
console.log("Exception thrown");
console.log(e);
row.data = null;
return row;
}
//return newRow;
});
console.log(result.rows);
res.status(200).json({
status: 'success',
//data: result.rows[0].readusersbynamejson,
data: result.rows,
message: 'Retrieved all data'
});
}
});
}
Вот что возвращает функция postgres:
{
"status": "success",
"data": [
{
"readusersbynamejson": {
"user_id": 3,
"auth_type": 1,
"status": 1,
"user_identity": "user3",
"username": "mgarcia",
"email_address": "mgarcia@gmail.com",
"phone_number": "11234567890",
"timestamp": 1537846141,
"image_reference": "",
"name": null,
"bio": null,
"friend_status": 0,
"friend_status_initiated": 0,
"post_count": 0
}
},
{
"readusersbynamejson": {
"user_id": 2,
"auth_type": 1,
"status": 1,
"user_identity": "user2",
"username": "jdoe",
"email_address": "jdoe@gmail.com",
"phone_number": "11234567890",
"timestamp": 1537846110,
"image_reference": "",
"name": null,
"bio": null,
"friend_status": 0,
"friend_status_initiated": 0,
"post_count": 0
}
}
],
"message": "Retrieved all data"
}
Я действительно хочу удалить имя функции postgres из JSON, но мне может потребоваться изменить другие частиэтогоМожет кто-нибудь дать мне небольшой фрагмент кода о том, как преобразовать JSON?Я боролся с этим в течение нескольких часов, и, очевидно, мне здесь не хватает чего-то фундаментального.