#javascript #firebase #google-cloud-firestore
#javascript #firebase #google-облако-firestore
Вопрос:
Как я могу отсортировать документы, увеличив поле «время»? мой код
function renderOrder(doc) {
this.afs.collection('values',ref=>ref.OrderBy('time','desc')).valueChanges();
}
button.addEventListener("click", function () {this.afs.collection('values').add({ time: firebase.firestore().FieldValue.serverTimestamp()});
Комментарии:
1. Что вы имеете в виду, говоря об увеличении поля «время»?
2. @ThomasLombart когда я создаю документ, текущее время записывается в поле «time»; эти документы должны быть отсортированы по времени добавления (извините за мой английский)
Ответ №1:
Сортировка документов в firestore firebase выполняется firebase.Если вы хотите получить документ на основе времени создания, вам нужно создать поле, скажем, time и сохранить метку serverTimestamp. Теперь при запросе вашего документа вы можете использовать предложение OrderBy для получения документа.
Чтобы добавить documnet:
this.afs.collection('values').add({
time:firebase.firestore.FieldValue.serverTimestamp()
});
Для извлечения documnet:
this.afs.collection('values',ref=>ref.OrderBy('time','desc')).valueChanges();
это даст вам видимый набор документов.При подписке вы получите массив документов, где первым элементом массива является окончательно добавленный документ
Комментарии:
1. когда я запускаю функцию, она отображает ошибку «Не удается прочитать свойство ‘serverTimestamp’, значение которого не определено»
2. пожалуйста, попробуйте с этим, this.afs.collection(‘values’).add({ time: firebase.firestore. Значение поля.Метка времени сервера() });
3. если проблема решена, пожалуйста, примите и проголосуйте за мой ответ, чтобы другие могли легко найти решение
4. когда я запускаю функцию, она отображает ошибку «Не удается прочитать свойство ‘serverTimestamp’, значение которого не определено»
5. какая функция.?