«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как эффективно обновлять массивы объектов в Firestore?

Как эффективно обновлять массивы объектов в Firestore?

Опубликовано 7 ноября 2024 г.
Просматривать:840

How to Efficiently Update Arrays of Objects in Firestore?

Обновление массива объектов в Firestore

Обновление массива объектов в Firestore может быть простым процессом, но для этого требуется использование специальные методы в Firestore SDK.

Чтобы добавить новые записи в массив объектов, вы можете использовать метод arrayUnion(). Этот метод принимает массив элементов в качестве аргумента и добавляет эти элементы в существующий массив, но только если они еще не присутствуют.

Следующий код демонстрирует, как обновить массивsharedWith в документе с помощью arrayUnion( ):

firebase.firestore()
.collection('proprietary')
.doc(docID)
.update({ sharedWith: firebase.firestore.FieldValue.arrayUnion({ who: "[email protected]", when: new Date() }) })

Метод arrayRemove() может быть используется для удаления элементов из массива. Он принимает массив элементов в качестве аргумента и удаляет все экземпляры каждого данного элемента.

Чтобы удалить определенный элемент из массиваsharedWith, вы можете использовать следующий код:

firebase.firestore()
.collection('proprietary')
.doc(docID)
.update({ sharedWith: firebase.firestore.FieldValue.arrayRemove({ who: "[email protected]" }) })

Эти методы обеспечивают удобный и эффективный способ обновления массивов в Firestore, гарантируя, что только указанные элементы добавляются или удаляются, оставляя остальную часть массива нетронутой.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3