geoFirestore-使用数组将新文档添加为文档数据属性之一

时间:2020-04-27 17:24:04

标签: database typescript firebase geofirestore

当我尝试使用geoFirestore向数据库中添加新文档,并尝试使用DocumentReference将其属性之一设置为数组(指Firestore数据库中的文档位置)时,出现以下错误:

FirebaseError:函数DocumentReference.set()用无效数据调用。不支持的字段值:自定义对象

如果我在此处设置一个空数组,则表示成功。 顺便说一句,如果我也在那里设置字符串或数字

绝缘代码:

await geocollection.add({
                        coordinates: new firebase.firestore.GeoPoint(latlng.lat, latlng.lng),
                        arrayOfRef: [newRef]
                     });

我尝试对Object.asset()使用newRef,但得到相同的结果。

感谢助手。

1 个答案:

答案 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方法之前看到更多的事情真是棒极了。