Reputation: 3361
I have a collection called posts in Firestore which contains a documents with the fields content and location. Content is a string
and Location is a Geopoint
.
When accessing the database using Firebase Cloud Functions, I am able to print out the content by adding it into an array and JSON.stringfy
the whole thing as a response.
db.collection("posts").get().then((snapshot) => {
snapshot.forEach((doc) => {
var element = {
"content": doc.data().content,
}
query = query.concat(element);
});
res.send(JSON.stringify(query));
However, If i try to emulate this with the geopoints, I simply get an empty response {}
.
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));
How do access the Geopoint values in the Firestore using Javascript so I can perform operations on/print them? i.e. find distance between two points.
Upvotes: 1
Views: 1002
Reputation: 3361
I managed to solve this by accessing the latitude/longitude fields directly using doc.data().location.latitude
.
Upvotes: 2