首页 > 解决方案 > 有没有办法创建 Auth 对象并使用该 UID 来创建带有 GeoFirestore 的文档

问题描述

我正在尝试在返回用户 UID 的 Firebase 中创建一个 Auth 对象。我希望能够使用该特定 UID 在我的集合中创建一个文档,但显然 geofirestore 没有添加具有特定 ID 的文档的功能。

const storesCollection = geoFirestore.collection("retailers");
export const firstTimeStartCreateRetailer = ( email, password) => async dispatch => {
try {
  const { user } = await auth.createUserWithEmailAndPassword(email, password);
  await storesCollection.doc(user.uid).add({
    coordinates: new firebase.firestore.GeoPoint(33.704381, 72.978839),
    name: 'Freshlee',
    location: 'F-11',
    city: 'Islamabad',
    inventory: [],
    rating: 5,
    categories: []
  })
  dispatch({ type: LOGIN, payload: { ...user } });
 } catch (error) {
   console.log(error)
 }
};

此代码被拒绝,因为 geoFirestore 没有 .doc(id) 引用功能。我怎样才能做到这一点。

标签: firebasereact-nativegoogle-cloud-firestoregeofirestore

解决方案


你需要做

await storesCollection.doc(user.uid).set({...})

使用set()方法。事实上,没有add()方法 aGeoDocumentReferencestoresCollection.doc(user.uid)是 a GeoDocumentReference

add()方法是一种方法GeoCollectionReference


推荐阅读