Javascript Firestore查询将[对象]返回到浏览器

Javascript Firestore查询将[对象]返回到浏览器,javascript,node.js,firebase,express,google-cloud-firestore,Javascript,Node.js,Firebase,Express,Google Cloud Firestore,查询Firestore时,浏览器返回的是[object object],[object object],而不是: { > Description: 'This is a job offer', > Active: true, > Location: 'Warsaw', > Name: 'BA in Bank', > Deadline: Timestamp { _seconds: 1603317600, _nanoseconds: 0 } > } > { >

查询Firestore时,浏览器返回的是
[object object],[object object]
,而不是:

{ > Description: 'This is a job offer', > Active: true, > Location: 'Warsaw', > Name: 'BA in Bank', > Deadline: Timestamp { _seconds: 1603317600, _nanoseconds: 0 } > } > { > Description: 'This is another job offer', > Location: 'Amesterdam', > Name: 'PM job', > Active: true, > Deadline: Timestamp { _seconds: 1607554800, _nanoseconds: 0 } > }
有没有办法将这些对象值传递给路由处理程序?

多亏了@gso\u gabriel的建议,我终于找到了答案

可以在express中间件上发送对象,但需要在EJS视图上使用forEach(),以便它在对象中循环并提取元素


router.get('/projects', async(req, res) => {


    const snapshot = await firebase.firestore().collection("projects").get();
    
    const docs = snapshot.docs.map(doc => doc.data())

    res.render('projects', { docs });

});

然后在EJ上,您需要执行
docs.forEach()

{%>
在EJS中,您可以使用它在前端添加您想要的任何html元素


我希望这对未来的用户有所帮助。

您可能希望尝试在路由器中对其进行字符串化:
res.render('projects',{JSON.stringify(array)})
@FrankvanPuffelen我认为这对我没有帮助,因为我无法在EJS中操作它——即使我明白你的意思。嗨@PauloBrás,你能检查一下这两种情况并确认它们是否对你有帮助吗?它们显示了可能对你有帮助的路由器的不同方法,包括你如何重新连接的顺序上的差异保存数据,这可能是您的问题的原因。@gso_gabriel对此表示感谢-它没有答案,但有一些提示让我找到了解决方案!:)

router.get('/projects', async(req, res) => {


    const snapshot = await firebase.firestore().collection("projects").get();
    
    const docs = snapshot.docs.map(doc => doc.data())

    res.render('projects', { docs });

});

 <% docs.forEach(doc => { %>
                            <%- doc.Name; %>
                                <% }); %>