【发布时间】:2018-04-10 13:13:56
【问题描述】:
我正在从 firebase 实时数据库中查询,将每个结果存储在一个数组中,然后返回这个数组。虽然数据是正确的,但我并没有以我想要的类型返回它。
这个函数的代码是
exports.getprojects = functions.https.onRequest((req, res) => {
const uid = req.body.uid;
var projectref = fref.child('projects');
var projarr = [];
// Make the promise object for query
const projpromise = projectref.orderByChild('key').equalTo(uid).once('value');
// Another Promise for pushing to array
const pushpromise = projpromise.then(snap => {
var proj_item = snap.val();
// push to array
projarr.push(proj_item);
return proj_item;
}).catch(reason => {
console.log(reason)
return res.json(400);
})
// Respond with array
return pushpromise.then((proj_item) => {
return res.json(200, projarr);
}).catch(reason => {
console.log(reason)
return res.json(400);
})
});
此函数查询所有正确的数据,但返回格式如下:
[
{
"project_id": {
"project_title": "Test Project1",
"project_type": "Long Term"
},
...
]
我需要这个函数以如下格式返回:
{
{
"project_id": {
"project_title": "Test Project1",
"project_type": "Long Term"
},
...
}
我怎样才能做到这一点?任何帮助表示赞赏。谢谢!
【问题讨论】:
-
最后一个 sn-p 不是有效的 JSON,所以不可能在 JavaScript 代码中构造它。
标签: javascript arrays firebase firebase-realtime-database javascript-objects