Angualar Firestore _methodName FieldValuea.serverTimestamp - PullRequest
0 голосов
/ 31 марта 2020

Мне нужно сохранить метку времени сервера в моем документе пожарного хранилища
из целого rnet Я получил этот код firebase.firestore.FieldValue.serverTimestamp(), но после того, как я использовал этот код в пожарном хранилище, он сохранился как этот _methodName FieldValuea.serverTimestamp
Что это проблема и как это исправить? мой код ts `

 let m1 = new Message();
    m1.doctor = this.uid;
    m1.patient = this.messageList[this.messageList.length - 1].patient;
    m1.isPatient = false;
    m1.message = event.message;


    m1.date = firebase.firestore.FieldValue.serverTimestamp(),
      m1.reply = true,
      // type: files.length ? 'file' : 'text',
      //files: files,
      m1.user = {
        name: 'Jonh Doe',
        avatar: 'https://i.gifer.com/no.gif',
      },

      this.firestore.collection(Config.chatCollection).add(JSON.parse(JSON.stringify(m1)));
`



class Message {
  user = {
    name: 'Jonh Doe',
    avatar: 'https://i.gifer.com/no.gif',
  }
  reply;
  doctor = "";
  text;
  date;
  cdate;
  isPatient = true;
  message = "";
  patient = "";
  time = "";
  documentID = "";
}

1 Ответ

0 голосов
/ 31 марта 2020

Это, скорее всего, потому что вы делаете

this.firestore.collection(Config.chatCollection).add(JSON.parse(JSON.stringify(m1)));

Делая

this.firestore.collection(Config.chatCollection).add(m1);

, все должно быть в порядке, так как кажется, что m1 - это JavaScript Объект.

do c для метода add() - здесь , вы увидите, что его параметром должен быть «Объект, содержащий данные для нового документа». Если m1 является допустимым объектом, вам не нужно делать JSON.parse(JSON.stringify(m1)), что соответствует:

  1. Преобразованию объекта m1 JavaScript в строку JSON, а затем ;
  2. Взяв получившуюся строку JSON и преобразовав ее обратно в JavaScript объект.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...