Я пытаюсь сохранить местоположение пользователя в Firebase, сохраняя результаты getLocation из службы определения местоположения Google.
Когда я использую следующий код:
Lat_Coordinate = location.getLatitude();
Lon_Coordinate = location.getLongitude();
Map<String, Object> user_location = new HashMap<>();
user_location.put( "Lat", Lat_Coordinate );
user_location.put( "Lon", Lon_Coordinate );
db.collection( "Users" ).document( auth.getUid() ).collection( "Location" ).add( user_location );
Он продолжает добавлять документы вРасположение коллекции. Однако моя цель всегда состоит в том, чтобы сохранить только один документ местоположения, который будет последней информацией.
Есть ли способ перезаписать уже существующий документ вместо добавления нового?
Я уверен, что есть способ удалить коллекцию, а затем создать новую, но я думаю, что это слишком много операций.
Спасибо
РЕШЕНИЕ:
В конце концов я снова создал документ с известным идентификатором, используя auth.getUID, и сохранил в нем местоположение. Поскольку идентификатор всегда один и тот же, он перезаписывает документ:
db.collection( "Users" ).document( auth.getUid() ).collection( "Location" ).document(auth.getUid()).set( user_location );