@MehulSojitra Пожалуйста, опубликуйте новый вопрос относительно вашей проблемы, чтобы я и другие пользователи могли помочь вам.
о что начал с Firestore и использоватьSetOptions.merge()
В транзакции Cloud Firestore вроде этого ничего особенного, я думаю:
final Map<String, Object> visitorMap = new HashMap<>();
visitorMap.put(Visitor.NOTIFY_ON_CHAT_MESSAGE, true);
visitorMap.put(Visitor.TIME, FieldValue.serverTimestamp());
final DocumentReference docRefVisitor = mFirestore
.collection(VISITORS)
.document(theId)
.collection(VISITORS_USER)
.document(getCurrentUser().getUserId());
mFirestore.runTransaction(new com.google.firebase.firestore.Transaction.Function<void>() {
@Nullable
@Override
public void apply(@NonNull Transaction transaction) throws FirebaseFirestoreException {
transaction.set(docRefVisitor, visitorMap, SetOptions.merge());
}
})
Документы говорят:
Если документ не существует, он будет создан. Если документ существует, его содержимое будет перезаписано вновь предоставленными данными, если только вы не укажете, что данные должны быть объединены в существующий документ
Я испытываю этоVisitor.NOTIFY_ON_CHAT_MESSAGE
boolean
перезаписывает существующиеboolean
в базе данных Cloud Firestore Document. Я думал, чтоSetOptions.merge()
не будет перезаписывать существующие значения? Может быть, я что-то пропустил о том, какСделка работает или это бета-связанная вещь, так как CF является бета