我在Firestore中有一个名为 posts 的集合,其中包含一个包含 content 和 location 字段的文档。内容是string
,位置是Geopoint
。
使用Firebase Cloud Functions访问数据库时,我可以通过将内容添加到数组并将整个内容JSON.stringfy
作为响应来打印出内容。
db.collection("posts").get().then((snapshot) => {
snapshot.forEach((doc) => {
var element = {
"content": doc.data().content,
}
query = query.concat(element);
});
res.send(JSON.stringify(query));
但是,如果我尝试使用geopoints进行仿真,我只会得到一个空的响应{}
。
db.collection("posts").get().then((snapshot) => {
snapshot.forEach((doc) => {
var latitude = doc.data().location.getLatitude();
var longitude = doc.data().location.getLongitude();
var element = {
"latitude": latitude,
"longitude": longitude,
}
query = query.concat(element);
});
res.send(JSON.stringify(query));
如何使用Javascript访问Firestore中的Geopoint值,以便我可以对它们执行操作/打印它们?即找到两点之间的距离。
答案 0 :(得分:1)
我设法通过直接使用doc.data().location.latitude
访问纬度/经度字段来解决此问题。