首页 > 解决方案 > 如何使用 GeoFirestore 从 Firestore 实际查询数据?

问题描述

我正在尝试在我的 node.js 项目中使用 GeoFirestore 来查询 Firestore 中给定半径内给定点附近的文档。首先,我在数据库中有一个这种格式的文档: 在此处输入图像描述

我的查询代码是这样的:

// Create the GeoFirestoreQuery object
const geoQuery = geoFirestore.query({
    center: new firebase.firestore.GeoPoint(latitute, longitude),
    radius: 5,
    query: (ref) => ref.where("d.available", "==", true)
});

问题是,我无法弄清楚如何从查询中获取文档。我尝试了下面的代码,但根本没有调用它。

// Fetch the nearest couriers
const onKeyEnteredRegistiration = geoQuery.on("key_entered", function(key, document, distance) {
    console.log(key);
});

我怎样才能退回文件?我错过了什么?我的查询和数据库结构匹配吗?是否缺少任何字段或问题?或者我应该使用另一个查询而不是“key_entered”?感谢您提前提供任何帮助。

标签: node.jsgoogle-cloud-firestoregeofirestore

解决方案


我发现了问题,它与数据库结构有关。我改变了我的结构,如下所示,现在它完美地工作了。 在此处输入图像描述


推荐阅读