【发布时间】:2019-05-15 07:27:29
【问题描述】:
我有以下云功能来从 firebase 数据存储中获取数据,但它无法编译并且不知道如何解决这个问题。
import * as admin from 'firebase-admin';
import * as functions from 'firebase-functions';
admin.initializeApp(functions.config().firebase);
const db = admin.firestore();
const usersObj = db.collection('users')
export const getUsers = async () => {
let allUsers: Array<any> = [];
await usersObj.get().then(users => {
users.forEach(user => {
allUsers[user.id] = user.data();
});
});
return allUsers;
}
错误:错误 TS7015:元素隐式具有“任何”类型,因为 索引表达式不是“数字”类型。 allOrders[order.id] = order.data();
【问题讨论】:
-
user.id是数字吗? -
@Héctor 它是一个字符串... GUID
-
我认为这就是问题所在。数组索引应该是一个数字。您可以将 allUsers 更改为对象,或使用 forEach 索引作为数组索引而不是用户的 GUID
标签: node.js typescript google-cloud-functions