#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 не редактируйте сообщения, чтобы добавлять новые вопросы. Если у вас есть новый вопрос, просто опубликуйте его отдельно. Я вернул это к исходному вопросу.