在 Firestore 中轻松更新数组
使用 Firestore 时,您可能会遇到需要更新文档中的数组的情况。虽然这似乎是一项简单的任务,但要完美地实现它,需要了解 Firestore 的特定功能。
传统上,尝试使用 .set() 和 merge: true 或 .update() 等技术更新数组通常会导致结果覆盖数组的内容。不过,Firestore 现在提供了两个优雅的函数,使您能够无缝添加和删除数组元素:
例如,假设您有一个具有以下结构的文档:
{ proprietary: "John Doe", sharedWith: [ {who: "[email protected]", when: timestamp}, {who: "[email protected]", when: timestamp}, ], }
要向 shareWith 数组添加新条目,可以使用以下语法:
<code class="javascript">firebase.firestore() .collection('proprietary') .doc(docID) .update({ sharedWith: firebase.firestore.FieldValue.arrayUnion( {who: "[email protected]", when: new Date()} ) });</code>
类似地,要从数组中删除元素,请使用以下方法:
<code class="javascript">firebase.firestore() .collection('proprietary') .doc(docID) .update({ sharedWith: firebase.firestore.FieldValue.arrayRemove({who: "[email protected]"}) });</code>
通过利用这些专用函数,您可以放心地更新 Firestore 文档中的数组,而不必担心不必要的覆盖。请记得参阅 Firestore 官方文档以获取详细示例和特定场景的指导。
以上是如何在不覆盖的情况下更新 Firestore 中的数组:'arrayUnion”和'arrayRemove”指南的详细内容。更多信息请关注PHP中文网其他相关文章!