【问题标题】:Firestore : How to add a field to the auto generated id in firestore when user clicks on a button in androidFirestore:当用户单击android中的按钮时,如何将字段添加到firestore中的自动生成的ID
【发布时间】:2018-03-14 09:15:24
【问题描述】:

我在Cloud Functions 中向用户实现了FCM 通知。通过使用 Cloud Functions,我在 Firestore 中添加了一个文档(自动生成的 id)。我需要该文档 ID 才能从 android 应用程序在同一文档中添加另一个字段作为状态。

我有一个像这样的数据库路径:

/deyaPayUser
{authid}
/Split
{auth id }
/Received Invitation
{auto id}
  . Amount: 10
  . PhoneNumber:987654321

这些是已经存在的数据。现在我需要在该文档中添加一个字段。如何获取用户当前的文档id

Status : true

【问题讨论】:

  • 你可以看看我的一个tutorials,里面我已经一步步解释了如何send notification给特定用户。
  • @Alex 为什么你删除了帖子
  • 我正在尝试你的答案。
  • 假设在您的 android 应用程序中您正在使用 firebase 身份验证,您从用户对象获取用户 ID 有什么困难。获得用户 ID 后,您可以在文档中添加字段

标签: java android firebase google-cloud-firestore


【解决方案1】:

根据您的 cmets,为了找到该特定文档,您需要基于该文档中的属性创建一个 Query,如下所示:

Query query = yourCollectionReference.whereEqualTo("PhoneNumber", 987654321);

此查询将查找电话号码为987654321 的用户。

现在只需使用 get() 调用,获取 id 并进行更新:

Map<String, Object> map = new HashMap<>();
map.put("Status", true);
yourCollectionReference.document(documentId).update(map);

【讨论】:

  • 如果有人对我的回答不满意,请至少说明原因。谢谢!据我了解,这个答案对 OP 有所帮助。
  • @Alex String documentId = yourCollectionReference.document().getId();我正在获取一个文档,但该文档不在我的数据库中。我不明白正在获取哪个文件
  • 正如你提到的 documentId = 你的收藏reference.document().getId();这一行将创建一个新文档。但我需要将文档 id 获取到由云功能创建的 firestore
  • 刚刚添加了如何在 Node.js 中获取 auto id
  • @Alex 你能理解我的问题吗:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-20
  • 1970-01-01
  • 1970-01-01
  • 2021-08-03
相关资源
最近更新 更多