【问题标题】:Firestore not getting string from react native calendarsFirestore 没有从反应本机日历中获取字符串
【发布时间】: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 )
  }

我不知道我做错了什么

【问题讨论】:

    标签: javascript react-native google-cloud-firestore expo react-native-calendars


    【解决方案1】:

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

    问题发生在两种情况下:

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

    2. 将集合和文档添加到空文档。如果您直接创建类似 /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()} ),数据)并且没有像将字段分配给项目和事件那样工作。不知道为什么。您是否介意向我展示正确的代码行以获得相同但仅在项目内的字段?谢谢
    猜你喜欢
    • 2020-10-20
    • 1970-01-01
    • 2015-05-13
    • 1970-01-01
    • 2021-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多