Как получить значение из ключа из документа firestore

#javascript #firebase #google-cloud-firestore #expo

#javascript #firebase #google-облако-firestore #выставка

Вопрос:

Я пытаюсь прочитать значения из документа firestore, но у меня возникают проблемы. (Рабочий процесс, управляемый React Native Expo)

фрагмент кода:

 let db = firebase.firestore();
//let ref = db.collection(this.props.type).doc(this.props.phone).get();
let ref = db.collection("instructors").doc("0987654321")
let doc = await ref.get();
console.log("setStateFromFirestore");
console.log("data", doc.data()); //this prints fine
  

объект данных:

«имя»: «бла»
«возраст»: «99»

Как получить возраст или имя из такого объекта данных?

Я пробовал это, но они не работают:

 console.log("data", doc.data().get("age"));
console.log("data", doc.data("age"));
console.log("data", doc.data()["age"]);  
  

Какой способ это сделать?
Спасибо

Ответ №1:

У вас есть два варианта.

В качестве свойства простого объекта JavaScript, возвращаемого data():

 const data = doc.data()
const age = data.age
console.log(age)
  

Или непосредственно из DocumentSnapshot с помощью get():

 const age = doc.get("age")
console.log(age)
  

Комментарии:

1. Спасибо, я использовал метод doc.get («age»), и он работает, спасибо! Но есть ли какая-либо разница в реалистичности / производительности между этими двумя подходами или просто стилистическая разница?

2. Никакой реальной разницы.

3. Привет, @ Doug, в настоящее время я пытаюсь сохранить вход с идентификаторами пользователей Apple в Firestore, но у меня возникли проблемы с процессом извлечения. Я добавил это в сообщение в качестве редактирования, у вас есть какое-либо представление об этом? Спасибо.

4. В Stack Overflow не редактируйте сообщения, чтобы добавлять новые вопросы. Если у вас есть новый вопрос, просто опубликуйте его отдельно. Я вернул это к исходному вопросу.