0

我想用谷歌雲功能預渲染元數據,但我不知道如何訪問值,數據日誌返回這在功能控制檯(見鏈接)使用來自firebaseDB與雲功能的數據

console.log(data) returns this

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" /> 
      `); 
     }) 
}) 

(這不起作用)

回答

2

我想你期待您的查詢返回,而不是收集了孩子。你需要找到孩子(儘管在這種情況下只有一個孩子)。請嘗試使用此代碼代替快照:

proyectos.forEach(child => { 
    data = child.val() 
}); 
+0

謝謝!!!!!! – Jorge