Как установить и получить с помощью массива значений ключей в Firestore Ionic 4?

#google-cloud-firestore #ionic4

#google-облако-firestore #ionic4

Вопрос:

Я пытаюсь установить и получить некоторые заметки о задачах, но проблема в том, что я делюсь ими со всеми пользователями, и они НЕ СОХРАНЯЮТСЯ в моей базе данных firestore, не знаю почему, но они остаются. Моя модель:

скриншот

и мой метод добавления и получения:

     idea: Idea = {
    name: '',
    note: '',
    date: new Date().getTime()
};

ADD:
this.afs.collection(`users/${this.user.getUID}/ideas`).add(this.idea)
GET_ALL:
this.afs.collection(`users/${this.user.getUID}/ideas`)
  

Я хорошо справляюсь со своим модальным? мне нужно установить некоторый идентификатор для каждой идеи? Большое вам спасибо

ОБНОВЛЕНО:

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

РЕШЕНИЕ ДОБАВИТЬ:

     this.afs.doc(`users/${this.user.getUID()}`).update({
        ideas: firestore.FieldValue.arrayUnion(this.idea)
    })
  

Ответ №1:

НАКОНЕЦ-ТО РЕШЕНО

Это мой код:

 # ADD #
this.afs.collection('ideas').add(this.idea)


# LOAD FROM EXISTING IDEA #
ngOnInit() {
    this.ideaId = this.route.snapshot.params['id']
    if (this.ideaId) {
        this.loadIdea();
    }
}

async loadIdea() {

    this.afs.collection<Idea>(`/ideas`)
    .doc<Idea>(this.ideaId)
    .valueChanges()
    .subscribe(data => {
        console.log(data)
        this.idea = data
        loading.dismiss()
    })
}

# REMOVE #
    remove(idea: firebase.firestore.QueryDocumentSnapshot) {
    firebase.firestore()
    .collection('ideas')
    .doc(idea.id).delete()
    })
}

# GET LIST FROM IDEAS #

    getIdeas(){
    firebase.firestore().collection('ideas')
    .where('owner', '==', this.user.getUID())
    .onSnapshot(querySnapshot => {
        console.log('querySnapshot: '   querySnapshot)
        this.ideas = querySnapshot.docs
    })
}
  

МОЙ МОДАЛЬНЫЙ