我是firebase环境中的新手。 我想使用角度服务使用云功能更新firebase中的数据。 我可以使用云函数从firebase获取角度数据,如下所示
readUsers(): Observable<Person[]>{
return this._http
.get(“https://us-central1-partner-f3f0b.cloudfunctions.net/getCustomer")
.map(res => res.json());
}
云功能如下
exports.getCustomer = functions.https.onRequest((req, res) => {
res.header(‘Content-Type’, ‘application/json’);
res.header(‘Access-Control-Allow-Origin’, ‘*’);
res.header(‘Access-Control-Allow-Headers’, ‘Content-Type’);
//respond to CORS preflight requests
if (req.method === ‘OPTIONS’) {
res.status(204).send(‘’);
}
// Get a database reference to our posts
var db = admin.database();
var ref = db.ref(“customer”);
// Attach an asynchronous callback to read the data at our posts reference
ref.on(“value”, function (snapshot) {
console.log(snapshot.val());
res.status(200).json({ customer: snapshot.val() });
}, function (errorObject) {
console.log(“The read failed: “ + errorObject.code);
});
});
以下云功能正在运行并更新firebase数据库。
exports.getOneProducts = functions.https.onRequest((req, res) => {
res.header(‘Content-Type’, ‘application/json’);
res.header(‘Access-Control-Allow-Origin’, ‘*’);
res.header(‘Access-Control-Allow-Headers’, ‘Content-Type’);
//respond to CORS preflight requests
if (req.method === ‘OPTIONS’) {
res.status(204).send(‘’);
}
// Get a database reference to our posts
var db = admin.database();
var ref = db.ref(“/messages/-L82AfhFTr4odsh1GMId”);
ref.update({ original: “New trainer” });
});
我面临的挑战是如何以角度4传递json格式的数据,并使用谷歌云功能在firebase数据库中更新。 任何帮助表示赞赏。
答案 0 :(得分:0)
你可以简单地将你的JSON放在你的请求的正文内容中(这应该是一个POST)并通过req.body.xxxxx
E.g。如果您的请求正文内容是以下JSON {original:“New trainer”},那么您将通过req.body.original