我正在尝试将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'
据我了解,这意味着DocumentUnference不能被arrayUnion / arrayRemove方法接受。
如果确实如此,是否有办法解决?为什么Firebase允许您在项目控制台中添加引用,但不能通过代码添加引用?
最佳答案
您正在取消引用documentReference
,这是不可能的。
因此,您需要执行以下操作:
FieldValue.arrayUnion(documentReference)
代替:
FieldValue.arrayUnion([documentReference])
关于firebase - Firestore DocumentReference可以在arrayUnion方法中传递吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60152474/