【发布时间】:2020-05-15 22:19:57
【问题描述】:
我已经设置了一条路线,使用该路线我可以获取在 firestore 数据库中的“用户”集合下注册的所有电子邮件。 在这条路线中,我正在渲染一个 ejs 模板并希望显示所有电子邮件。
我的路线:
app.get('/check',(request,response)=>{
db.collection('users').get().then(snapshot=>{
snapshot.docs.forEach(doc=>{
response.render('check',{user: doc.data().email})
})
})
})
我的 ejs 模板:
<h1>check welcome</h1>
<ol>
<li><%= user %></li>
</ol>
模板被渲染,但我只是注册了第一封电子邮件,而不是全部。 在控制台中,我收到此错误:
> Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
> at ServerResponse.setHeader (_http_outgoing.js:526:11)
> at ServerResponse.header (/home/chahat/Desktop/firebase 2.0/functions/node_modules/express/lib/response.js:771:10)
> at ServerResponse.send (/home/chahat/Desktop/firebase 2.0/functions/node_modules/express/lib/response.js:170:12)
> at done (/home/chahat/Desktop/firebase 2.0/functions/node_modules/express/lib/response.js:1008:10)
> at tryHandleCache (/home/chahat/Desktop/firebase 2.0/functions/node_modules/ejs/lib/ejs.js:278:5)
> at View.exports.renderFile [as engine] (/home/chahat/Desktop/firebase 2.0/functions/node_modules/ejs/lib/ejs.js:478:10)
> at View.render (/home/chahat/Desktop/firebase 2.0/functions/node_modules/express/lib/view.js:135:8)
> at tryRender (/home/chahat/Desktop/firebase 2.0/functions/node_modules/express/lib/application.js:640:10)
> at Function.render (/home/chahat/Desktop/firebase 2.0/functions/node_modules/express/lib/application.js:592:3)
> at ServerResponse.render (/home/chahat/Desktop/firebase 2.0/functions/node_modules/express/lib/response.js:1012:7)
我将不胜感激:)
【问题讨论】:
标签: node.js firebase express google-cloud-firestore ejs