Запрос данных Firestore на основе FieldValue.serverTimestamp () - Условие даты - PullRequest
0 голосов
/ 23 сентября 2018

В моем Angular & Firebase Web App я сохраняю дату создания документа как метку времени сервера Firestore, указанную ниже;

firestore.FieldValue.serverTimestamp()

Я просто хочу запросить документы, созданные ранее, чем через 6 месяцев (Firestore Server "now")

Как я вижу Тип данных этого поля - FieldValue и не может быть преобразованв Javascript Дата объекта.

this.afs.collection<MyObject>("myCollection",
            ref => ref.orderBy("createdAt", "desc")
              .where("user_id", "==", `${user.uid}`)
              .where("createdAt", ">", "?????")).valueChanges();

Что мне нужно поставить под вопросительные знаки для запроса тех документов, которые были созданы через 6 месяцев?

Спасибо.

1 Ответ

0 голосов
/ 24 сентября 2018

Можете ли вы попробовать этот код, я на самом деле не запускал его, но я думаю, что идея такова ...

let start = firestore.FieldValue.serverTimestamp(); //start date 
var end= new Date(year, month, day);
end.setMonth(end.getMonth() + 6); //date 6 months from start

this.afs.collection<MyObject>("myCollection",
        ref => ref.orderBy("createdAt", "desc")
          .where("user_id", "==", `${user.uid}`)
          .where("createdAt", ">", "start"))
          .where("createdAt", '<', end).valueChanges();

Надеюсь, это поможет.

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