【问题标题】:Is there a way to return document ID by checking field values有没有办法通过检查字段值来返回文档 ID
【发布时间】:2021-10-09 11:24:11
【问题描述】:

我正在创建一个 Firebase 云函数,并希望通过检查其键值来从集合中获取文档的 ID。

我有一个包含多个文档的集合。每个文档都有一个唯一的 company_number,它与文档 ID 不同。我想获取文档 ID 并将其存储在常量中。

  const company_id = admin.firestore()
  .collection('company_collection')
  .where('company_number', '==', 'company_number')

我知道我的代码是错误的,但不知道如何纠正它。我是 Firebase 的新手,我们将不胜感激。

谢谢,

【问题讨论】:

  • “我知道我的代码是错误的”:在什么意义上它是错误的?另外,.where('company_number', '==', 'company_number') 中的第二个'company_number' 到底是什么?所需公司编号的值?
  • 没有第二个公司号码。只有一个。如果 company_number 字段与我提供的“company_number”匹配,我想获取文档 ID
  • 那么 Dharmaraj 的回答应该可以解决问题。

标签: javascript reactjs firebase google-cloud-firestore


【解决方案1】:

company_number 似乎对每个文档都是唯一的,因此您可以在返回的 QuerySnapshot 中读取第一个文档的 ID,如下所示:

const companyDoc = await admin.firestore()
  .collection('company_collection')
  .where('company_number', '==', 'company_number')
  .get()

// Check if that 1 doc is returned
if (companyDoc.empty) return "Document Not Found"

const company_id = companyDoc.docs[0].id

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-19
    • 2022-01-21
    • 1970-01-01
    • 2013-07-02
    • 1970-01-01
    • 1970-01-01
    • 2016-04-04
    • 1970-01-01
    相关资源
    最近更新 更多