В настоящее время я вручную перебираю поля документа в firestore и помещаю их в объект, который я преобразовываю в JSON.

Есть ли способ автоматизировать процесс? Что-то вроде:

var userEnrollments = ToJson(await admin.firestore().collection(USERS + "/" + x.uid + "/" + ENROLMENT));
2
tweetypi 2 Янв 2018 в 05:30

2 ответа

Лучший ответ

DocumentSnapshot имеет метод data (), который возвращает все содержимое (без вложенных коллекций) документа как простой объект JavaScript.

admin.firestore().doc('path/to/doc').get().then(snapshot => {
    const data = snapshot.data()  // a plain JS object 
})
4
Doug Stevenson 2 Янв 2018 в 03:16

Попробуйте использовать наблюдаемый

var userEnrollments = Observable<User>;
Document userDoc = this.db.doc<User>('User/'+id);
this.userEnrollments = this.userDoc.valueChanges();

Вы можете использовать такой массив: Observable<User[]>; с FirestoreCollection<User>;

Я использую подобное при угловой стрельбе. Вы также можете использовать ASYNC в firebase.

0
Diego Venâncio 2 Янв 2018 в 02:56