'RangeError: Неверное значение времени' - PullRequest
1 голос
/ 26 января 2020

Я довольно новичок в программировании (Год начала go), и в настоящее время я перемещаю базу данных MySQL в Firestore, и в качестве моего проекта, который я изучаю, я переписываю и перехожу с нуля. Веб-сайт Joomla, которым я был в течение многих лет я использовал JavaScript и Firestore в качестве моих основных инструментов.

Итак, моя текущая задача: у меня есть JSON импортированная историческая c дата, которая хранится в виде строки в документе Firestore. Я пытаюсь преобразовать его в формат отметки времени, но получаю следующую ошибку «RangeError: Недопустимое значение времени» (подробности об ошибке см. Ниже)

Итак, вот шаги.

1) I импортировал мои документы из старой базы данных SQL с файлом JSON с указанными полями c date в документы firestore. Вы можете увидеть пример поля «создан» на изображении ниже Дерево документа Firestore и настройка поля

2) Затем я импортирую поле пожарного хранилища под названием «создано», используя JavaScript на клиенте и проверил, что это происходит через console.log, это как

датаДобавлено сб 15.10.2016 16:29:41 GMT + 0100 (Briti sh Summer Time)

3) Я изменяю поле на новую дату и метку времени, используя код .... и проверяю в консоли, оно показывает, как оно выглядит, и показывает в консоли следующее:

Метка времени uo {секунд: 1476545381, наносекунд: 0}

Затем я создаю команду обновления firestore для «сильного» сильного поля, чтобы заменить ее новой датой времени, конвертированной в дату. Nb Я также попытался использовать команду обновления, чтобы получить это в новом поле, которое я назвал «create_at», и оно выдало ту же ошибку.

Итак, перед тем, как я go, далее приведу основную функцию, которую я вызываю позже понести это.

const TimeStamp = (query) => {
  
  let dateAdded = new Date(query.created)
  
  let fTimestamp = new firebase.firestore.Timestamp.fromDate(dateAdded)

  console.log('dateAdded', dateAdded)
  //console returns// dateAdded Sat Oct 15 2016 16:29:41 GMT+0100 (British Summer Time)
  console.log('Timestamp', fTimestamp) 
  //console returns// Timestamp uo {seconds: 1476545381, nanoseconds: 0}

  var queryTime = db.collection("Northern_Ireland").doc('2183').collection("reviews").doc('2573');
  queryTime.update({

    created_at: fTimestamp,
  //console returns//  RangeError: Invalid time value 
  
  
  })
  
  .then(function() {


    console.log("Document successfully updated!");
})
.catch(function(error) {
    // The document probably doesn't exist.
    console.error("Error updating document: ", error);
}); 

}
  

4) Затем я получаю консольную ошибку "RangeError: Invalid time value", подробности в pi c ниже и читают загрузки, но не могут видеть ничего, что действительно объясняет почему? Мне кажется, ему удалось создать временную метку, поэтому я не уверен, почему не обновит документ в Firestore. Возможно, форматирование неверно для строки поля основной даты, которое она выводит из-за ошибки консоли: ошибка консоли

5) Я использовал тот же процесс для обновления других полей новыми строковыми или целочисленными данными и У меня нет пробников, поэтому кажется, что что-то указывает c на формат отметки времени

Большое спасибо, если вы можете помочь мне в этом путешествии.

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