Временная метка Firestore в массиве имеет странное поведение - PullRequest
0 голосов
/ 25 февраля 2019

Я недавно изучаю firestore.

Я хочу реализовать структуру данных ниже.

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

Я хотел добавить тестовые данные в графический интерфейс firestore.поэтому я создал данные schedules (массив) и 0 (карта) (включая startTime и endTime).после этого я добавил данные 1 (map) (включая startTime и endTime).В этот момент sdata 0 (map) автоматически изменился на структуру данных ниже.

    - 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 голосов
/ 25 февраля 2019

Мне удалось воспроизвести проблему, похоже, это ошибка в консоли Firebase, а не в самом Firestore, потому что это происходит только на консоли.

Вы должны сообщить об этом в Google: https://firebase.google.com/support/contact/

Тем временем, тем не менее, вы можете добавить тестовые данные через код, используя любой язык, который поддерживает Admin SDK.

Пример в Node:

import admin from 'firebase-admin';
admin.initializeApp();
// ...

await admin.firestore().collection('test-date').add({
    schedule: [
        {

            startDate: Timestamp.fromDate(new Date()),
            endDate: Timestamp.fromDate(new Date()),
        },
        {
            startDate: Timestamp.fromDate(new Date()),
            endDate: Timestamp.fromDate(new Date()),
        },
    ]
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...