如何在 Firestore 中创建和更新数字数组?
Posted
技术标签:
【中文标题】如何在 Firestore 中创建和更新数字数组?【英文标题】:How can i create and update an array of number in firestore? 【发布时间】:2022-01-12 12:36:09 【问题描述】:我想在 Firestore 中以编程方式创建一个数组。另外,我想更新数组,如附图所示。
我想将所有参考编号存储在此数组中。每当有新的参考号时,我都想更新数组。请帮忙。
这是我尝试过的。我知道这是错的。它不是更新数组而是替换它。
Map<String, Object> mapone= new HashMap<>();
Map<String, Object> maptwo = new HashMap<>();
mapone.put("Refnum", f_refrenceNum);
maptwo.put("RefNumber", mapone);
upiRefnum.set(maptwo,SetOptions.merge());
【问题讨论】:
到目前为止你有什么尝试? @AlexMamo 我更新了关于我尝试过的问题的问题。在我的方法中,它没有更新,而是替换了以前的值 【参考方案1】:您的代码使用您指定的值告诉 Firestore 到 RefNumber.Refnum
字段。
如果要将f_refrenceNum
添加到数组中,可以使用array-union
操作:
mapone.put("Refnum", FieldValue.arrayUnion(f_refrenceNum));
如果f_refrenceNum
不在数组中,这将添加它。如果它已经在数组中并且您想添加一个副本,则必须将文档读入您的应用程序代码中,在您的应用程序代码中添加数字,然后将整个数组写回数据库。
请参阅 adding items to an array 上的 Firestore 文档。
【讨论】:
以上是关于如何在 Firestore 中创建和更新数字数组?的主要内容,如果未能解决你的问题,请参考以下文章