Я пытаюсь добраться до «онлайн» пользователей в радиусе 25 км, и я использую следующий код для выполнения гео-запросов с помощью плагина geofirestore- js (https://github.com/MichaelSolati/geofirestore-js)
const geofirestore = new GeoFirestore(Firebase.firestore());
const geocollection = geofirestore.collection('location');
const query = geocollection.near({ center: coordinates, radius: 25 }).where('status' , '==' , 'online');
query.onSnapshot(querysnapshot => {
let nearByContact = []
querysnapshot.docs.forEach((change) => {
if (change.id !== store.user.uid) {
nearByContact.push({
coordinate: {
latitude: change.data().coordinates._latitude,
longitude: change.data().coordinates._longitude,
},
title: change.data().name,
description: change.distance.toFixed(2) + " km away",
image: change.data().avatarUrl,
profileId: change.id
})
}
})
Возвращает null при использовании обоих методов 'near' и 'where'. Но запрос хорошо работает с такими отдельными методами.
const query = geocollection.near({ center: coordinates, radius: 25 })
query.onSnapshot(querysnapshot => {.....
Я хочу запросить базу данных firestore обоими способами. Не могли бы вы помочь мне решить эту проблему.