使用 Firestore 更新对象数组
在 Firestore 中,更新对象数组可能是一项复杂的任务。在这里,我们解决了这个问题,并提供了一个解决方案来解决合并数据时面临的挑战。
问题
通常,修改 Firestore 中的数组需要替换整个数组。使用 SET 方法会覆盖数组,而 UPDATE 方法执行相同的操作。当尝试更新对象数组中的单个元素时,此行为会造成限制。
解决方案
Firestore 现在提供两种管理数组的方法,而无需覆盖整个数组:
要使用这些方法更新对象数组,请按照以下步骤操作:
示例代码
<code class="javascript">// Add an element to the "sharedWith" array firebase.firestore() .collection('proprietary') .doc(docID) .update({ sharedWith: firebase.firestore.FieldValue.arrayUnion({ who: "[email protected]", when: new Date() }) }); // Remove an element from the "sharedWith" array firebase.firestore() .collection('proprietary') .doc(docID) .update({ sharedWith: firebase.firestore.FieldValue.arrayRemove({ who: "[email protected]", when: timestamp }) });</code>
通过使用 arrayUnion() 和 arrayRemove( ),您可以无缝更新 Firestore 中的对象数组,确保更改合并到现有数组中而不覆盖它。
以上是如何更新 Firestore 中的对象数组而不覆盖整个数组?的详细内容。更多信息请关注PHP中文网其他相关文章!