我正在尝试使用谷歌云功能预渲染元数据,但我无法弄清楚如何访问这些值,数据日志会在函数控制台上返回(参见链接)
exports.preLoadMeta = functions.https.onRequest((request, response) => {
let id = request.url.split("/");
let data;
admin.database().ref('proyectos').orderByChild("urlAmigable").equalTo(id[2]).once("value")
.then(proyectos =>{
data = proyectos.val();
console.log(data)
}).then( () => {
response.status(200).send(`
<!doctype html>
<html class="no-js" lang="es" dir="ltr">
<head>
<title>${data.titulo}</title>
<meta name="description" content="bla bla - ${data.titulo}" />
<meta property="og:title" content="${data.titulo}" />
<meta property="og:description" content="${data.meta}" />
<meta property="og:image" content="${data.imgUrl}" />
<meta property="og:type" content="article" />
`);
})
})
(这不起作用)
答案 0 :(得分:2)
我认为你期望你的查询返回孩子而不是集合。你需要得到孩子(即使在这种情况下只有一个孩子)。请尝试将此代码用于快照:
proyectos.forEach(child => {
data = child.val()
});