Консольный журнал определенного атрибута объекта из Firestore в Ionic - PullRequest
0 голосов
/ 26 сентября 2018

У меня есть значение запроса, в котором я повторяю каждый из этих элементов в запросе и сортирую их по порядку

if (item.exists) {
auxint++;
auxString += '{"id":"' + item.id + '","AgendaTeste":' + JSON.stringify(item.data()) + '}';

}`

Я использую идентификатор документа для зацикливания внутри всего, что находится внутри моего документа.Теперь с этого момента моя проблема.То, что мне нужно сделать, это сохранить в логе один конкретный атрибут из моего объекта, который я назвал «Documento».

Вот моя структура объекта:

enter image description here

Теперь конкретный атрибут, который я хотел бы сохранить в журнале и хранить где-то его значение, это атрибут 'Hora'.

Я могу утешить журнал item.id, но не могу уточнить журнал item.id.Documento.Horaили item.id.Hora, и вот что мне нужно сделать.

Вот мой полный код:

export class ConsultasPage {
public myTime = new Date();
public dataJSON;
public dataAux;
paciente: string = "Genésio Euclides"
public medico: any = "Benedito";
ubs: any;
private db: any;
model: any = {};
isEditing: boolean = false;


constructor(public navCtrl: NavController, public modalCtrl: ModalController) {
    var query = firebase.firestore().collection("AgendaTeste")
    var auxint = 0;
    this.dataAux
    let auxString = '[';
    //db.collection('Agenda').where("Documento.id", "==", '1').get().then(res => {
    query.where('Documento.Paciente', '==', this.paciente).get().then(res => {
        res.forEach(item => {
            if (item.exists) {
                auxint++;
                auxString += '{"id":"' + item.id + '","AgendaTeste":' + JSON.stringify(item.data()) + '}';
                console.log(item.);

            }
            if (res.size != auxint)
                auxString += ', ';
        })
        auxString += ']';
        this.dataJSON = JSON.parse(auxString);
        console.log(this.dataJSON.DataCriacao);
    }).catch(err => {
        console.log('Ocorreu um erro ' + err);
    });

}

}

1 Ответ

0 голосов
/ 26 сентября 2018

Решение этой проблемы было следующим:

this.mostraHora = item.get("Documento.Hora");
console.log(this.mostraHora);

в этой строке:

res.forEach(item => {

Элемент представляет firebase.firestore.QueryDocumentSnapshot.

Теперь согласнодокументация «Данные могут быть извлечены с помощью .data () или .get () для получения конкретного поля». Эта ссылка имеет более подробное объяснение: https://firebase.google.com/docs/reference/js/firebase.firestore.DocumentSnapshot#data

Теперь мы имеем в основном firebase.firestore.QueryDocumentSnapshot.get (FieldPath) или FieldValue

...