"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como atualizar matrizes de objetos com eficiência no Firestore?

Como atualizar matrizes de objetos com eficiência no Firestore?

Publicado em 2024-11-07
Navegar:408

How to Efficiently Update Arrays of Objects in Firestore?

Atualizar um array de objetos no Firestore

Atualizar um array de objetos no Firestore pode ser um processo simples, mas requer o uso de métodos específicos no SDK do Firestore.

Para anexar novos registros a uma matriz de objetos, você pode usar o método arrayUnion(). Este método usa uma matriz de elementos como argumento e adiciona esses elementos à matriz existente, mas apenas se eles ainda não estiverem presentes.

O código a seguir demonstra como atualizar a matriz sharedWith em um documento usando arrayUnion( ):

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

O método arrayRemove() pode ser usado para remover elementos de um array. Ele pega uma matriz de elementos como argumento e remove todas as instâncias de cada elemento fornecido.

Para remover um elemento específico da matriz sharedWith, você pode usar o seguinte código:

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

Esses métodos fornecem uma maneira conveniente e eficiente de atualizar arrays no Firestore, garantindo que apenas os elementos especificados sejam adicionados ou removidos, deixando o restante do array intacto.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3