Firestore arrayUnion с повторяющимися записями - PullRequest
0 голосов
/ 03 марта 2020

У меня есть массив в моей базе данных Firestore, скажем, его [0, 2, 5], и я хочу добавить еще один массив со значениями [1, 3, 5]. Когда я добавляю свой массив с arrayUnion, он добавляет только те элементы, которые еще не существуют. Пока все хорошо, я прочитал в документации, что arrayUnion должен это делать, но как я могу добавить полный массив, включая дубликаты, которые мой итоговый массив в базе данных выглядит так [0, 2, 5, 1, 3, 5]? Я не смог найти никакой документации об этом

Ответы [ 2 ]

3 голосов
/ 03 марта 2020

как мне добавить полный массив, включая дубликаты, которые выглядят так, как мой последний массив в базе данных [0, 2, 5, 1, 3, 5]?

Просто , прочитайте документ, получите массив, добавьте дубликаты элементов, запишите документ обратно. Использование arrayUnion не вариант в этой ситуации.

1 голос
/ 05 мая 2020

У меня была такая же проблема с этим. Если у вас есть список, прочитайте документ, как сказал Алекс Мамо. Это то, что я сделал с моим.

//To access the database or however you have it
FirebaseFirestore database = FirebaseFirestore.getInstance();

//Creating temp List to hold the values
List<String> temp = new ArrayList<>();

//Populating the temp array:REPLACE THIS WITH HOW YOU READ YOUR DATA
for (String TIMES_S : parking.getStartTimeArray()) {
    temp.add(TIMES_S);
}

//Here add values to your array that you want to update 
//In my case they are strings
temp.add("xxxxx");

//Updating the array in your documents
database.collection("YOUR_COLLECTION").document("YOUR_DOCUMENT_THAT_HOLDS_THE_ARRAY")
    .update("YOUR_ARRAY_NAME", temp);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...