繁体   English   中英

如何在本机反应中更有效地对单个文档进行 firebase 查询

[英]How to make a firebase query for single document more efficient in react native

我试图根据来自用户的用户 ID 的单个查询搜索来获取要添加到状态的用户数据。 我尝试做单个文档路径,这对我不起作用,因为 firebase.auth().currentUser.uid 与 doc.id 不同,我现在使用的代码是:

      firebase.firestore()
        .collection("users").get().then((querySnapshot) => {
          querySnapshot.forEach((doc) => {
            console.log(firebase.auth().currentUser.email);
            console.log(doc.data().email;
            if (doc.data().email) == firebase.auth().currentUser.email) {
              this.setState({
                avatar: doc.data().avatar,
                name: doc.data().name,
                email: doc.data().email
              });
            }
          });
        });

虽然此代码有效,但它的效率非常低,因为它遍历所有用户并将他们的电子邮件与当前用户的电子邮件进行比较。 我想知道是否有一种方法可以在不使用这种方法的情况下搜索数据。 任何帮助将不胜感激。 先感谢您!

尝试做这样的事情并评论它是否适合你:

  firebase.firestore()
    .collection("users")
    .where('email', '==', firebase.auth().currentUser.email)
    .get()
    .then((querySnapshot) =>
      querySnapshot.forEach((doc) =>
          this.setState({
            avatar: doc.data().avatar,
            name: doc.data().name,
            email: doc.data().email
          })
      )
    );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM