【问题标题】:firestore simple way to get one field in a document by functionfirestore 通过函数获取文档中一个字段的简单方法
【发布时间】:2020-02-18 03:29:34
【问题描述】:

我正在尝试返回文档中的一个字段。有没有一种简单的方法可以做到这一点?这似乎有点矫枉过正:

let p = await (await this.afs.doc(`users/${uid}`).get().toPromise()).data()!.photoURL;

let p = await this.afs.doc(`users/${uid}`).ref.get().then((m) => { return m.data()!.photoURL; });

我在想这样的事情,但显然它不起作用:

let p = await this.afs.doc(`users/${uid}`).get('photoURL);

有什么想法吗?

【问题讨论】:

    标签: javascript angular firebase google-cloud-firestore angularfire2


    【解决方案1】:

    这应该是所有需要的:

    let p = await (firebase.firestore().doc(`users/${uid}`).get()).get('photoURL');
    

    await (firebase.firestore().doc(users/${uid}).get()) 等待文档加载,然后get('photoURL') 获取字段。

    【讨论】:

    • 这不起作用。 “属性 'get' 在类型 'Observable' 上不存在”指的是第二个 get()
    • 啊,我错过了你正在使用 angularfire2。我重写了代码以直接使用 JavaScript SDK,这使得解析更容易(至少对我而言)。
    • 那行不通。我正在使用“private afs:AngularFirestore”在我的代码中导入firestore,所以它仍然是你的代码。
    • 我可以使用它:let p = await (await (this.afs.firestore.doc(`users/${uid}`).get())).get('photoURL');
    猜你喜欢
    • 2021-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-15
    • 1970-01-01
    • 1970-01-01
    • 2021-09-28
    相关资源
    最近更新 更多