【发布时间】:2020-04-22 21:52:35
【问题描述】:
我是 firebase 的新手,对 node.js 做了一些工作。基本上我想要的是从我的集合“咖啡”中检索数据并通过我的 /test 路由发送它,这样我就可以在我的前端使用它。不知道怎么退货。
通过将 return 放入 forEach 循环,我已经让它返回第一个索引而不是列表的其余部分。但我想要完整的列表。
//test route for database
router.get("/test", (req, res) =>{
// For loop goes thorugh our collection list and displays them in log.
db.collection('coffee').get().then((snapshot) => {
let getCoffee = snapshot.forEach((doc) => {
//console.log(doc.data());
const dataArray = [];
dataArray.push(doc.data());
console.log(dataArray);
});
return res.json(getCoffee);
})
.catch((err) => {
console.log('Error getting documents', err);
});
});
修改后:
router.get("/test", (req, res) =>{
// For loop goes thorugh our collection list and displays them in log.
db.collection('coffee').get().then((snapshot) => {
let getCoffee = snapshot.map((doc) => {
return doc.data();
});
return res.json(getCoffee);
})
.catch((err) => {
console.log('Error getting documents', err);
});
});
console.log(snapshot) 给了我以下信息:
集合参考 { _firestore: 火库{ _settings:[对象], _settingsFrozen:真, _serializer:[序列化器], _projectId: 'test-3ad87', 注册的ListenersCount:0, _lastSuccessfulRequest: 1587563014339, _backoffSettings:[对象], _preferTransactions:假, _clientPool: [ClientPool] }, _queryOptions: 查询选项 { 父路径:[资源路径], collectionId: '咖啡', 转换器:[对象], 所有后代:假, 字段过滤器:[], 字段订单:[], startAt:未定义, endAt:未定义, 限制:未定义, 限制类型:未定义, 偏移量:未定义, 投影:未定义}, _serializer: 序列化器 { createReference: [Function] } }, _readTime: 时间戳 { _seconds: 1587563014, _nanoseconds: 390810000 }, _size: 12,
【问题讨论】:
标签: node.js firebase express google-cloud-firestore