首页 > 解决方案 > 从作为数组的 firestore 中保存字段

问题描述

我目前正在开发一个关于 React 的移动应用程序,我无法理解如何从作为数组的火存储中保存一个字段。

由于我无法发布图像,我的数据库结构是所有字符串,例如用户名、名字等,但我有一个名为跟随列表的字段,它是一个数组。

我想要做的是将以下列表中的用户名保存到一个数组中,以便稍后在数组中搜索用户名的火存储,这基本上是我想要做的,所以我可以呈现我的应用程序的社交 Feed。我确实知道我可能可以创建另一个子集合并编写一些熟悉的内容来搜索用户,但那是一个 QuerySnapShot,它是整体文档而不是特定文档,我也知道 firebase 为数组创建了一个 ID,它会随着数组变大。

我不想最终为追随者再制作两个子集合,然后我认为不理想,对吧?我目前的做法是这样

export const fetchUserFollowing = async (username) => {
     const ref = firebase.firestore().collection('users').doc(username)
     let results = []

     ref
        .get()
        .then( doc => {
            let data = doc.data()
            results = data
        })
        .catch((err) => {
            return 'an error has occurred  ', err
        })
}

据我了解,DocumentSnapShot .get() 函数返回一个对象,但我想要的是将跟随列表存储到结果中,然后返回该对象,但我不确定如何操作对象返回以只给我跟随列表,即数组

https://rnfirebase.io/docs/v5.xx/firestore/reference/DocumentSnapshot 文档链接

标签: javascriptreactjsfirebasereact-nativegoogle-cloud-firestore

解决方案


推荐阅读