В Firestore, как вы запрашиваете диапазон номеров для элементов, которые имеют диапазон номеров - PullRequest
0 голосов
/ 18 октября 2019

Я пытаюсь выяснить в firestore, как лучше всего запрашивать данные о дате за неделю. У меня есть объекты, которые охватывают несколько дней, и я хочу знать, какие элементы являются частью определенного промежутка времени. Прямо сейчас мои данные имеют дату начала и окончания, представленную их значением в мс Unix. Некоторые начинаются до даты начала запроса, а некоторые заканчиваются после даты окончания запроса. Как мне правильно запросить это или правильно денормализовать данные.

Например, я хочу получить все элементы, которые происходят в текущем месяце, октябрь. Некоторые элементы могут иметь дату начала 30 сентября - 2 октября инекоторые могут быть 31 октября - 2 ноября. Как мне структурировать / запросить мои данные, чтобы включить эти крайние случаи?

 {
  active: true,
  address: {
    addressLine1: "5 May Way",
    city: "Wilmington",
    state: "Ny",
    zip: "40778"
  },
  createdOn: 1570558984758,
  day: 1570507200000,
  event: {
    startDate: 1570558945155,
    endDate: 1570559945160,
    utcOffset: -240
  },
  id: "6FXSCc8BFqww59PT0HyE",
  name: "Test",
  portalId: "iHvdmHxsQsQvoaQIO0r4",
  statusId: 0,
}

1 Ответ

0 голосов
/ 29 октября 2019

В верхней части моей головы вы можете указать поле для месяцев, в которых произошло событие (например, occurrence). Это поле будет массивом и вашим запросом, чтобы узнать, произошло ли это событие в конкретном месяце, вы можете использовать предложение where, где это поле будет содержать месяц, который вы ищете. Что-то вроде where('occurrence', 'array-contains', 'October').

То есть вы можете добавить в свое поле event массив occurrence, это будет выглядеть так:

event: {
    startDate: xxxxxxxxx,
    endDate: xxxxxxxxx,
    utcOffset: xxx,
    ocurrence: [September, October]
}

Это будет обрабатывать как обычныеи крайние случаи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...