Я работаю над процессом рецензирования / комментирования и хотел бы иметь возможность сохранять каждый рецензию / комментарий, предоставленный пользователем, для другого в firebase, при этом каждый рецензия / оценка, представленные в то же время, находятся под одной и той же отметкой времени. Сначала я использовал функцию JS new Date (). GetTime (), и это прекрасно работает, но чтобы пользователи не могли изменить значение (ie, изменив дату на своем компьютере), я бы хотел вместо этого использовать временную метку firebase.
Теперь я хочу, чтобы конечным продуктом была карта:
[chatStartTime] : {
review : stars,
time : chatStartTime
}
, которую я затем включаю в документ firebase с помощьюaction.set (). Теперь проблема в ChatStartTime, которая должна представлять эту метку времени. У меня есть код:
var chatStartTime = firebase.firestore.FieldValue.serverTimestamp();
Кроме того, я также надеюсь получить:
var chatStartTimeDate = chatStartTime.toDate();
Однако chatStartTimeDate приводит к ошибке - я понимаю, что это потому, что chatStartTime по существу, «недействительным», пока он не будет добавлен в документ; Есть ли способ обойти это и использовать эту функцию? Кроме того, если я просто использую chatStartTime для обоих экземпляров, я получаю карту в базе данных в виде:
[object Object]
review : 4.5
time :
.sv: "timestamp"
Где .sv - строковый тип. Как я могу решить эту проблему? Я бы хотел, чтобы конечный результат выглядел примерно так (например)
1579194722735
review : 4.5
time : 1579194722735