javascript - Geofirestore 从 react-native 中的地理集合中获取子集合
问题描述
我想通过 geofirestore 提出请求来检索子集合,如下所示:
每个 PRODUCTS 的 id 对应于创建新产品的用户的 id(目前只有一个)。
这是我现在的代码:
import firestore from '@react-native-firebase/firestore';
import * as geofirestore from 'geofirestore';
const firestoreApp = firestore();
const GeoFirestore = geofirestore.initializeApp(firestoreApp);
const geocollection = GeoFirestore.collection('PRODUCTS');
const query = geocollection.limit(30).near({
center: new firestore.GeoPoint(coords.latitude, coords.longitude),
radius: 1000,
});
try {
query.onSnapshot((querySnapshot) => {
const productsQueried = querySnapshot.docs.reduce(
(result, documentSnapshot) => {
console.log(documentSnapshot);
if (documentSnapshot.id !== user.uid) {
result.push(documentSnapshot.data());
}
return result;
},
[]
);
setListOfProducts(productsQueried);
console.log(productsQueried);
setLoading(false);
});
} catch (error) {
console.log(error);
}
当然,我只能找到 geocollection,而无法访问里面的 'USER_PRODUCTS' 集合。 {存在:真,id:“OUJ6r3aF9nVfgtfkQRES7kpYCko1”,距离:0,数据:ƒ}
最终目标是检索每个亲密客户的产品列表,然后进行排序,以免检索到当前用户的产品列表。
我是否必须提出第二个请求(我可以一次完成吗?)或者我是否必须更改在 Firestore 中保存不同用户的产品列表的方式?
解决方案
推荐阅读
- google-apps-script - 基于时间的触发器创建而是立即执行函数
- docker - 如何让我的 .net core 2.1 Web 应用在 2 个端口上监听
- html - 响应式表中的响应式第一列
- progressive-web-apps - 如何从其他原生应用打开我的 PWA 应用?
- solr - 应用架构文件谜题后缺少 2 个字段
- java - 应用程序窗口错误“插件“org.eclipse.wb.core.ui”无法实例化类”
- javascript - 我如何在 LokiJS DB 中创建索引?
- android-studio - Android Studio - 视频奖励有效,但没有更多回调 - 可能出现故障?
- microsoft-graph-api - Graph API - 我如何确定链接的联系人?
- docusignapi - 退回的文件缺少签名