Я запрашиваю документы по метке времени, и он возвращает пустой массив.Однако это работает, когда я использую "==" ex: .where ('date', '==', timestamp) , и возвращает пустой массив, когда я использую '> = ' или ' <= '</strong>.
Я также пытался преобразовать отметку времени в объект даты и строку, но безуспешно.
Примечание: Поле date в firestore имеет тип Отметка времени .
Я ищу документы с датой, превышающей '2018-08-03' в коллекции.
Ниже приведено изображение коллекции транзакций (слева) и документа (справа), который должен быть частью массива возвращаемых документов, поскольку дата больше «2018-08-03»
Ниже приведен мой код.
const timestamp1 = admin.firestore.Timestamp.fromDate(firstDay);
const trans = [];
const docRef = db.collection('Users').doc(uid).collection('transactions').where('item_id', '==', item_id)
.where('date', '>=', timestamp1);
await docRef.get()
.then((snapshot) => {
snapshot.forEach((doc) => {
trans.push({ transaction_id: doc.id, transaction: doc.data() });
});
})
.catch(err => new Error('cannot get the documents', err));
Ожидаемый результат : должен быть массив с транзакциями с датойбольше, чем указано выше. Фактический результат : пустой массив.
Поскольку он работает на равенство == , я предположил, что > = и <= </strong> будет работать.Что-то мне здесь не хватает?