如何使用GeoFirestore从Firestore中实际查询数据?

时间:2018-12-19 21:03:25

标签: node.js google-cloud-firestore geofirestore

我正在尝试通过将GeoFirestore用于我的node.js项目来查询Firestore中给定半径内给定点附近的文档。首先,我在数据库中有以下格式的文档: enter image description here

我的查询代码如下:

// 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”?感谢您的任何提前帮助。

1 个答案:

答案 0 :(得分:1)

我发现了问题,这与数据库结构有关。我如下图所示更改了结构,现在可以正常使用了。 enter image description here