Firestore数组中的时间戳具有奇怪的行为

时间:2019-02-25 11:45:43

标签: firebase google-cloud-firestore

我最近正在学习Firestore。

我想实现以下数据结构。

- user (document)
  - schedules(field, array)
    - 0(map)
      - startTime(tiemstamp)
      - endTime(timestamp)
    - 1(map)
      - startTime(tiemstamp)
      - endTime(timestamp)

我想操作一下在firestore的GUI中添加测试数据。因此我创建了schedules(数组)和0(地图)的数据(包括startTime和endTime)。之后,我添加了1(地图)的数据(包括startTime和endTime)。那时,0(地图)的数据已自动更改为以下数据结构。

    - 0(map)
      - startTime(object)
        - nanoseconds(number) (changed to 0)
        - seconds(number) (changed to 1550502000)
      - endTime(object)
        - nanoseconds(number) (changed to 0)
        - seconds(number) (changed to 1550504000)
    - 1(map)
      - startTime(tiemstamp)
      - endTime(timestamp)

为什么时间戳会自动更改为对象?

请教我。

enter image description here

1 个答案:

答案 0 :(得分:1)

我必须重现该问题,这似乎是Firebase控制台的错误,而不是Firestore本身的错误,因为它仅在控制台上发生。

您应将其报告给Google:https://firebase.google.com/support/contact/

但是,与此同时,您可以使用支持Admin SDK的任何语言通过代码添加测试数据。

节点中的示例:

    $updateQuery = "UPDATE myTable SET foo=1, DIDUPDATE=DIDUPDATE*-1  WHERE bar=2";
    mysql_query($updateQuery);

    if (mysql_affected_rows() > 0) 
    {
            echo "affected!";
    }
    else 
    {
            echo "not affected"; 
    }