post方法不返回任何内容,同样返回get方法 该代码在使用firebase的节点js上 火力基地的设置已经完成 但是当传递json时,它返回空
exports.postBlog = (req, res) => {
(async() => {
try {
await dbs.collection('myBlog').doc('zim').set(data);
return res.status(200).send();
} catch (error) {
console.log("there was an error running this file");
return res.status(500).send(error);
}
})();
};
exports.getblog = (req, res) => {
(async() => {
try {
const page = dbs.collection('myblog').doc('zim');
await page.get(data);
return res.status(200).send(response);
} catch (error) {
console.log(error);
return res.status(500).send(error);
}
})();
};
答案 0 :(得分:0)
我们不知道您正在使用什么,但是可能正在使用某些node
服务器,例如express
。通常,您可能会找到here的所有respose
文档。我认为代码可以正常工作,并且不会返回任何错误。
因此,在postBlog
中,您必须在send
方法中返回某些内容,具体取决于要返回的内容。最简单的示例是返回文本“在Firestore中保存的文档”。为此,您可以添加参数以发送功能:
return res.status(200).send("Document saved in Firestore");
另一件事是,我们不知道该函数实际上在做什么,因为它写入了Firestore undefined
对象data
(至少在看发布的代码)。您必须使用set
方法编写一些对象。请找到(documentation)和example for node.js。
对于getblog
,未定义可能是因为您要发送代码中未定义的对象respose
。再次,我们不知道您想在逻辑上实现什么...再次使用了数据对象,但是根据API documentation get
可以有一个参数,但是这些是选项,通常是未使用。您可以尝试以下方法:
exports.getblog = (req, res) => {
(async() => {
try {
const page = dbs.collection('myblog').doc('zim');
let documentSnapshot = await page.get();
let response = documentSnapshot.data();
return res.status(200).send(response);
} catch (error) {
console.log(error);
return res.status(500).send(error);
}
})();
};
我强烈建议您尝试同时包含set
和get
示例的Get started with Cloud Firestore文档。 get
方法示例在此处写入控制台,但是您可以轻松地采用将cosole.log
更改为res.status(200).send
的代码。