【发布时间】:2018-04-18 19:51:57
【问题描述】:
我有一个方法可以返回一个我知道肯定指向文档的字符串。如下使用该字符串时:
const docRef = "users/uid/data/online"
const dbPath = db.doc(docRef)
console.log(dbPath.path)
return dbPath.set({"test" : 1})
失败了:
如果我使用 db.collection("users").doc(uid)...... 它可以工作。如何通过 typescript 中的字符串创建文档引用?
它应该根据文档工作:https://firebase.google.com/docs/firestore/data-model#references
编辑:这是我的课:
export enum UserCollection {
online = "online",
private = "private",
server = "server"
}
export enum UserDocument {
online = "online",
private = "private",
server = "server"
}
class ManagerPath {
pathToUser = "users/"
getPathToUser(uid: string, userCollection: UserCollection, userDocument: UserDocument): string {
return this.pathToUser + "/" + uid + "/" + userCollection + "/" + userDocument;
}
}
export const managerPath = new ManagerPath();
这就是我检索路径的方式:
exports.initializeNewUser = functions.auth.user().onCreate((user) => {
const test = managerPath.getPathToUser(user.uid, UserCollection.online, UserDocument.online);
console.log(test)
const dbPath = db.doc(test)
return dbPath.set({"dateCreation" : Date.now()}) //fails
})
【问题讨论】:
-
你从哪里得到路径字符串?你是如何创造它的?它是现有文档中的字段吗?知道从哪里获取构建字符串所需的变量会很有用。
-
@JasonBerryman 我编辑了我的问题
标签: firebase google-cloud-firestore google-cloud-functions