【发布时间】:2020-05-25 21:27:05
【问题描述】:
我正在尝试将 Firestore 文档引用添加到用户文档中的数组字段,以将引用保存为“收藏夹”。我可以从文档引用数组中读取,但不能使用 arrayUnion 更新数组或使用 arrayRemove 从数组中删除元素。
这是我添加对数组的引用的代码:
await userDocument.reference.updateData({'favourites':FieldValue.arrayUnion([documentReference])});
并从数组中删除引用:
await userDocument.reference.updateData({"favourites":FieldValue.arrayRemove([documentReference])});
问题在于出现如下错误:
Unhandled Exception: Invalid argument: Instance of 'DocumentReference'
据我了解,这意味着 arrayUnion/arrayRemove 方法不能接受 DocumentReference。
如果确实如此,有没有办法解决这个问题?以及为什么 Firebase 允许您在项目控制台中添加引用而不是通过代码?
【问题讨论】:
标签: firebase flutter dart google-cloud-firestore