Firestore 没有从反应本机日历中获取字符串

Posted

技术标签:

【中文标题】Firestore 没有从反应本机日历中获取字符串【英文标题】:Firestore not getting string from react native calendars 【发布时间】:2022-01-16 01:38:16 【问题描述】:

您好,我正在尝试在我的 Firestore 数据库中插入数据,我注意到数据通过了,但如果我在控制台中手动添加它,则 id 的颜色不同,如图所示,颜色更深。

当我进行查询时,只会找到我手动插入的那些

在我的 Home.js 中,我通过 wix 从反应原生日历中获取日期字符串值


onDayPress=(day) =>  
          const dateString =day.dateString.toString()
          setDateString(dateString); console.log(dateString) 
        // Initially selected day

然后在 App.js 中我使用 dateString 创建我的任务

const createTask = async (collection, data) => 
    //adding data to a collection with automatic id
    //const ref = await addDoc( collection(FSdb, FScollection ), data )
    const ref = await setDoc(doc(FSdb, `usertasks/$user.uid/events/$data.dateString/items/$new Date().getTime()`), data)
    //console.log( ref.id )
  

我不知道我做错了什么

【问题讨论】:

【参考方案1】:

我尝试根据提供的屏幕截图和代码进行复制。 请参阅下面的我的复制:

问题发生在两种情况下:

    删除包含子集合和子文档的集合或文档。

    将集合和文档添加到空文档。如果您直接创建类似 /collection/document(1)/collection/document(2)` 的东西。您应该分两步创建它:

    创建:/collection/document(1) 创建:/collection/document(1)/collection/document(2)

UI 中显示的斜体 文档 ID 实际上不存在,但仍会显示,因此您仍可以导航到子集合。由于没有文档,因此文档本身不会出现在查询结果中。如果您希望任何文档存在,您必须编写一些代码来创建它并为其提供一些字段。如果您从未显式创建文档,则它永远不会存在。

您也可以参考此documentation 了解更多信息。

【讨论】:

谢谢。现在为什么不工作这个查询? let eventsOfTheDay = [] const eventKeys = Object.keys( eventData ) eventKeys.map( async (eventDate) => const events = await getDocs( FSdb, users/$user.uid/events/$eventDate/items) events.forEach( (doc) => let event = doc.data() event.id = doc.id eventsOfTheDay.push( event ) ) 当我传递它时没有值? 嗨@Juan,这似乎是一个新问题。请发布一个新问题,以便其他人可以贡献答案。谢谢。 我正在尝试这个 await setDoc(doc(FSdb, usertasks/$user.uid), data) await setDoc(doc(FSdb, usertasks/$user.uid/events/$data.dateString), data) await setDoc(doc(FSdb, usertasks/$user.uid/events/$data.dateString/items/$new Date().getTime() ),数据)并且没有像将字段分配给项目和事件那样工作。不知道为什么。您是否介意向我展示正确的代码行以获得相同但仅在项目内的字段?谢谢

以上是关于Firestore 没有从反应本机日历中获取字符串的主要内容,如果未能解决你的问题,请参考以下文章

如何在本机反应中保存对本机日历(Android和iOS)的条目?

渲染从 firebase firestore 获取的数组数据

根据firebase / firestore文档在应用程序图标徽章通知中反应本机

添加Firebase Firestore对象进行本机反应

反应本机图像获取/上传

如何在不点击通知的情况下从通知中获取数据(firebase 云消息传递和本机反应)