保存到firestore时出错

时间:2018-05-28 13:12:00

标签: typescript firebase google-cloud-firestore

将问题保存到firestore并随后检索该数据。下面是失败的代码示例。这段代码很基本,我的网络连接很好。升级到websdk 5.0.4也无法解决问题。

save = async (data: any) => {
    try {
      const { id, ...rest } = data;
      await db
        .collection('/customers')
        .doc(id)
        .set({ ...rest });

      const saved = await db
        .collection('/customers')
        .doc(data.id)
        .get();
      console.log(saved.data());
    } catch (error) {
      console.log(error);
    }
  };

在调试模式下,我看到以下内容:

  

[2018-05-28T13:09:19.910Z] @ firebase / firestore:Firestore(5.0.3)[PersistentStream]:关闭并显示错误:FirebaseError:[code = unknown]:获取身份验证令牌失败:无法重新定义属性:_lat   index.esm.js:65 [2018-05-28T13:09:19.915Z] @ firebase / firestore:Firestore(5.0.3)[ExponentialBackoff]:支持46014.29558926278 ms(基本延迟:60000 ms)   index.esm.js:65 [2018-05-28T13:10:06.122Z] @ firebase / firestore:Firestore(5.0.3)[PersistentStream]:关闭并显示错误:FirebaseError:[code = unknown]:获取身份验证令牌失败:无法重新定义属性:_lat

1 个答案:

答案 0 :(得分:0)

在firestore DB中存入数据并检查响应的简单示例:

  //---creating reference--- 
  const customRef = this.db.collection('customers');

  //---inserting in DB---
  customRef.set({
    name: 'someName',
    status: true,
  }).then(response => {
    console.error('response: ', response);
  })
    .catch(function (error) {
      console.error('Error: ', error);
    });

检查是否为 firebase控制台数据库中的 RULES 配置了测试:

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write;
    }
  }
}