Как мне справиться, чтобы каждый раз, когда пользователь добавляет другое транспортное средство, он добавлял его в документ в виде массива?
Этого можно добиться, просто вызвав метод update()
как в следующих строках кода:
FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
DocumentReference vehicleIdRef = rootRef.collection("vehicles").document("vehicleId");
Vehicle vehicle = new Vehicle("VehicleName");
vehicleIdRef.update("vehicleArray", FieldValue.arrayUnion(vehicle));
, который атомарно добавит новый объект "Vehicle" в поле массива vehicleArray.Больше информации здесь .
Обратите также внимание, что этот метод будет работать, только если у вас нет свойства Date
в вашем классе, в противном случае вы получите такую ошибку:
Причина: java.lang.IllegalArgumentException: неверные данные.FieldValue.serverTimestamp () может использоваться только с set () и update ()