Справочный документ для алгоритма: One Pass Real-Time Generation Mark-Sweep Garbage Collection (1995) Джо Армстронга и Роберта Вирдинга в 1995 году (в CiteSeerX)
Вы можете использовать операторы arrayUnion и arrayRemove для добавления и удаления элементов из массива.
Например, чтобы добавить Story
db.collection('users').doc(userId).collection('matrix).doc(story.case).update(
{"success": FieldValue.arrayUnion(someStory)}
)
, эти операторы обрабатывают массив как наборы. Вы не можете получить доступ к отдельным элементам по индексу.
Официальная документация здесь: https://firebase.google.com/docs/firestore/manage-data/add-data
.