【问题标题】:Firebase: Get document snapshot after creatingFirebase:创建后获取文档快照
【发布时间】:2018-01-28 13:03:47
【问题描述】:

我知道我可以创建一个新查询来通过回调中的 id 读取文档。但是我可以在创建文档或至少 TIMESTAMP 之后在回调中获取整个快照吗?

firebase.firestore().collection("comments").add({
  body: data
})
.then(comment => {
  console.log(comment);
})
.catch(error => {
  console.log(error);
});

【问题讨论】:

  • 请出示您尝试过的代码
  • 我更新了问题
  • 您的代码没有显示任何日期字段。请阅读how to create an MCVE,因为这是针对此类与代码相关的问题寻求帮助的最佳方式。

标签: javascript firebase google-cloud-firestore


【解决方案1】:

调用CollectionRef.add(...) 返回对新创建文档的引用。为了能够访问该新文档的数据,您仍需要加载它。所以:

firebase.firestore().collection("48486654").add({
  timestamp: firebase.firestore.FieldValue.serverTimestamp()
})
.then(function(docRef) {
  docRef.get().then(function(doc) {
    console.log(doc.data().timestamp.toString());
  });
})
.catch(function(error) {
  console.error(error);
});

有关工作示例,请参阅:https://jsbin.com/xorucej/edit?js,console

【讨论】:

  • 是的,我知道我可以在单独的查询中创建后检索文档。我要问的是响应回调中的更多实用信息,例如文档创建的服务器时间。所以我们不必再打另一个电话就可以得到它。
猜你喜欢
  • 2021-07-12
  • 2019-03-22
  • 1970-01-01
  • 2020-07-15
  • 1970-01-01
  • 2021-04-21
  • 2019-06-08
  • 2018-09-26
  • 2020-12-16
相关资源
最近更新 更多