当我尝试使用geoFirestore向数据库中添加新文档,并尝试使用DocumentReference将其属性之一设置为数组(指Firestore数据库中的文档位置)时,出现以下错误:
FirebaseError:函数DocumentReference.set()
用无效数据调用。不支持的字段值:自定义对象
如果我在此处设置一个空数组,则表示成功。 顺便说一句,如果我也在那里设置字符串或数字
绝缘代码:
await geocollection.add({
coordinates: new firebase.firestore.GeoPoint(latlng.lat, latlng.lng),
arrayOfRef: [newRef]
});
我尝试对Object.asset()
使用newRef
,但得到相同的结果。
感谢助手。
答案 0 :(得分:0)
因此,在许多情况下,geofirestore
会最小化您提供的文档,然后将其传递给Firestore。在这种情况下,Firebase / Firestore似乎抛出了错误,而不是geofirestore
。
我怀疑问题与您使用的参考有关。如果该引用由geofirestore
提供,则不一定是Firestore使用的DocumentReference
,而是GeoDocumentReference
。您可能需要从native
property获取实际的DocumentReference
:
await geocollection.add({
coordinates: new firebase.firestore.GeoPoint(latlng.lat, latlng.lng),
arrayOfRef: [newRef.native]
});
让我知道是否有帮助!我还对您的代码做了一些假设,因此在调用add
方法之前看到更多的事情真是棒极了。