對不起,我對Firebase Cloud Func中的查詢geofire及其各自的key_enter和key_exited有疑問,以便維護我附近的地理點列表位置?,從幾十萬提取。考慮到所有這些情況發生在用戶在節點Firebase實時數據庫中更新它的地理位置時,並且這個數十萬的列表在用戶的位置附近被減少到幾個Firebase雲端功能中的Geofire查詢
2
A
回答
0
以下是我用於與GeoFire
exports.testLocation = functions.database.ref('/tests/{test}').onWrite(event => {
let data = event.data.val();
console.log(data);
console.log(event.params.test);
if (data.location && data.location.coords) {
console.log('Update GeoFire');
geoBase = new geoBase(event.data.adminRef.parent.parent.child('/GeoFireTests'));
geoBase.addLocation(event.params.test, [data.location.coords.latitude, data.location.coords.longitude]);
}
});
GeoFire
let GeoFire = require('geofire');
module.exports = function(ref) {
this.geoFire = new GeoFire(ref);
this.addLocation = (key, location) => {
this.geoFire.set(key, location).then(() => {
console.log('Update succesfull');
}).catch(error => {
console.log(error);
});
}
}
+0
嗨,喬納斯,你能解釋一下你的答案的第二部分是什麼 –
+1
對不起,第二部分是一個單獨的模塊,導入到第一部分。它在這裏使用:geoBase = new geoBase()。 –
0
這是它會是什麼樣子,而不模塊
更新let functions = require('firebase-functions');
let GeoFire = require('geofire');
exports.testLocation = functions.database.ref('/items/{item}').onWrite(event => {
let data = event.data.val();
console.log(data);
console.log(event.params.item);
if (data.location && data.location.coords) {
console.log('Update GeoFire');
let ref = event.data.adminRef.parent.parent.child('/items_locations'));
let key = event.params.test;
let location = [data.location.coords.latitude, data.location.coords.longitude]);
let geoFire = new GeoFire(ref);
geoFire.set(key, location).then(() => {
console.log('Update succesfull');
}).catch(error => {
console.log(error);
});
}
}
相關問題
- 1. 在GeoFire和Firebase查詢中執行功能時出錯
- 2. Cloud功能中的雲端Firestore查詢
- 3. 改進GeoFire查詢性能 - Firebase
- 4. Firebase數據庫 - 雲功能查詢
- 5. Firebase雲端功能http請求到另一個Firebase雲端功能
- 6. 適用於Android的Firebase雲端功能
- 7. Firebase未找到雲端功能?
- 8. mariadb,mysql與firebase雲端功能連接
- 9. 從Firebase雲端功能獲取UID
- 10. 如何更新Firebase雲端功能?
- 11. Firebase HTTPS雲端功能觸發兩次
- 12. Firebase存儲和雲端功能 - ECONNRESET
- 13. Firebase雲端功能自定義域名
- 14. 無法爲Firebase部署雲端功能
- 15. Firebase雲端功能:讀取數據庫
- 16. Firebase雲端功能 - 觀察編號
- 17. Firebase的雲端功能:管理員與根查找
- 18. firebase雲功能Google雲端存儲API錯誤
- 19. 迭代jsonarray firebase雲功能
- 20. Firebase註銷雲功能
- 21. Firebase端點處理圖像的雲端功能
- 22. 功能聲明中Firebase通配符引用的雲端函數
- 23. 用於Firebase部署的雲端功能中斷
- 24. 如何瞭解Firebase雲端功能中的新數據?
- 25. 多Geofire查詢和客戶端篩選
- 26. 爲Firebase重試雲端功能,直至成功
- 27. Geofire/FireBase .indexOn
- 28. 使用雲端功能在Firebase中循環和添加數據
- 29. 如何在Firebase中添加雲端功能版本
- 30. Firebase的雲端功能 - 刪除或添加的數據
鑑於Geofire是一個基於Firebase JavaScript SDK構建的庫,它可以以相同的方式訪問Firebase數據庫。寫入數據庫是完全一樣的。但聽衆會以不同的方式工作。如果您遇到困難,我建議您嘗試一下,然後回覆。 –