【问题标题】:how to add value into firebase field如何为firebase字段添加价值
【发布时间】:2021-12-11 09:45:31
【问题描述】:

我是 react native 和 firebase 的新手,正在尝试创建一个社交媒体应用程序,建立一个添加朋友的功能。

我正在尝试将 UID 添加到当前用户的数据库中 这是我的代码:


    const friendadd = async() =>{

        
       // get the users field
        const friendlist = firebase.firestore().collection('users').where("UID", "==", firebase.auth().currentUser.uid).get();

        const addfriend = await friendlist.update({
            "FriendsList.yVHnHIqhsOYbVbWOM6TbjpU4N3x1":true
        })

        
    }
    friendadd()


}

这就是我的火力基地的样子

通过使用上面的代码,它不会以某种方式更新该字段。但如果我对文档进行硬编码,它将起作用:

const friendlist = firebase.firestore().collection('users').doc('CgQklWWClMJdoOvU4pEk')

如何获取当前用户并更新字段?

【问题讨论】:

    标签: node.js firebase react-native


    【解决方案1】:

    要在FriendsList 字段中添加条目,您可以use an arrayUnion operation

    friendlist.update({
      FriendsList: firebase.firestore.FieldValue.arrayUnion({
        uid: "uidOfItemToAdd",
        bio: "bioOfItemToAdd"
      })
    });
    

    更新: 此代码将friendlist 设置为Promise<QuerySnapshot>

    const friendlist = firebase.firestore().collection('users').where("UID", "==", firebase.auth().currentUser.uid).get();
    

    处理这些文档并更新每个文档:

    friendlist.then((querySnapshot) => {
      querySnapshot.forEach((doc) => {
        doc.ref.update(...); // ? here goes the same code as above
      });
    });
    

    【讨论】:

    • 嗨弗兰克,我试过这种方式,但仍然没有更新。我想知道是不是因为const friendlist = firebase.firestore().collection('users').where("UID", "==", firebase.auth().currentUser.uid).get();这条线?它没有进入文档?
    • 因为如果我对 .doc 进行硬编码,它将更新。 const friendlist = firebase.firestore().collection('users').doc('CgQklWWClMJdoOvU4pEk')。如何获取当前文档?
    • 是的,这行不通。我更新了答案中的代码,但强烈建议花一些时间在文档中处理查询:firebase.google.com/docs/firestore/query-data/…,或在代码实验室中:firebase.google.com/codelabs/firestore-web
    • 非常感谢。对于更新,有没有办法找到其他人的uid?并将其添加到当前用户的 FriendsList 中?
    猜你喜欢
    • 1970-01-01
    • 2021-12-06
    • 2017-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-04
    • 1970-01-01
    相关资源
    最近更新 更多