gpt4 book ai didi

React Native 中的 Firebase Firestore 集合检索

转载 作者:行者123 更新时间:2023-12-03 14:33:59 25 4
gpt4 key购买 nike

我正在使用 Firebase Web api 使用 Expo 构建 React Native 应用程序,并尝试从我的 Firestore 项目中检索文档集合。根据文档在 https://firebase.google.com/docs/firestore/query-data/get-data我应该能够使用集合快照提供的 forEach() 方法迭代集合,如下所示:

db
.collection('services')
.get()
.then(snapshot => {
snapshot.forEach(doc => {
if (doc && doc.exists) {
console.log(doc.id, ' => ', doc.data());
}
});
});

然而,这仅记录了一个文档,尽管我目前在集合中有 3 个文档,但我错过了什么?请帮忙。

我的 firebase 配置如下所示:

import * as firebase from 'firebase';
firebase.initializeApp({
"projectId": "my-project-id",
"apiKey": "my-api-key",
"authDomain": "my-project.firebaseapp.com",
"databaseURL": "https://my-project.firebaseio.com",
"storageBucket": "my-project-id.appspot.com/",
"messagingSenderId": "my-messaging-sender-id"
})
const db = firebase.firestore();

最佳答案

经过一番调试,终于搞定了。看起来我需要做的是在查询快照上的 forEach 返回的每个快照上使用 _document.data 属性。所以我的代码现在看起来像这样:

db
.collection('services')
.get()
.then(snapshot => {
snapshot
.docs
.forEach(doc => {
console.log(JSON.parse(doc._document.data.toString()))
});
});


这感觉有点像黑客,但只记录 doc._document.data与每个文档一起返回大量元数据,toString() 仅返回文档数据但作为 JSON 字符串,因此我将其解析为带有 JSON.parse 的 JavaScript 对象。

关于React Native 中的 Firebase Firestore 集合检索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46632367/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com