我在express中创建了一个查询以提取我的数据 这是我对端点的快速表达功能:
app.get('/locatii', (req, res) => {
const geofirestore = new GeoFirestore(db);
const geocollection = geofirestore.collection('locatii2');
const query = geocollection.near({
center: new firebase.firestore.GeoPoint(45.831922, 27.431149),
radius: 3000
});
query.get().then(snap => {
console.log(snap.docs())
let places = [];
snap.forEach(doc => {
places.push(doc.data());
console.log(doc.data())
});
res.json(places);
})
.catch(err => res.send(err));
});
答案 0 :(得分:1)
您的数据结构中似乎没有geohash。为了能够按文档位置查询这些文档,需要在每个文档中都包含一个geohash。
从GeoFirestoreJS随附的example app中,您似乎可以get the geohash进行以下操作:
location.lat = ...
location.lng = ...
const hash = geokit.Geokit.hash(location);
然后使用类似以下内容的方法将其设置到Firestore文档中:
documentRef.update(hash);