当前位置: 首页 > 知识库问答 >
问题:

如何获取插入文档firebase admin的id

孙玮
2023-03-14

我正在用firebase实时数据库处理一些文档。我需要删除一个我无权通过SDK在客户端读取的文档。为了做到这一点,我需要知道id是什么,所以我应该将其存储在我的db(mongo)中,当我需要删除firebase上的文档时,我只需要从我的db中获取它,然后删除它。

我看了一下这个答案,但它对我不起作用。

我使用此方法将文档插入firebase DB(服务器端使用firebase admin)

const writeNotification = (uid: string, notification: INotification) => {
  const db = admin.database();
  const notsRef = db.ref(`notifications/${uid}`);
  notsRef.push({
    ..._.omit(notification, 'to'),
  });
};

如果我做了notsRef.id我得到未定义

如何获取刚插入的文档的ID?

PS。我的文档是这样组织的:

共有1个答案

别旻
2023-03-14

您看到的答案是关于Firestore,而不是您正在使用的实时数据库。引用具有键属性,而不是id:

console.log('New Key', notsRef.key) 

// to get child node's key
const childNotesRef = notsRef.push({
    ..._.omit(notification, 'to'),
  });

console.log(childNotesRef.key)
 类似资料:
  • 如何将最新文档插入(一个独立的、没有RS的)MongoDb,而不是现有的集合? 如何在文档之后插入所有文档?

  • 我正在使用下面的查询来获取最新的文档。 但问题是,这还可以获取很久以前插入的旧文档。但是对于我的用例,我希望在几分钟前插入文档,比如说5分钟。对此的确切查询应该是什么。

  • 问题内容: 我正在使用PHP中的mvc结构,我想检索最后插入的行ID。 我创建了以下sql代码: 但不幸的是我遇到了这个错误: 我也尝试过此堆栈链接,但不适用于我,因此如果您能帮助我获取ID,我将非常高兴。 我也在这里共享我的controller.php文件。 问题答案: 你快到了。 如果您查看lastInsertId的手册页,则会在数据库句柄上调用它- 您当前正在语句中对其进行调用。 您只需要致

  • 我插入批量插入laravel 5像这样: 知道如何获取最后一个插入的id吗?

  • 问题内容: 如何在JDBC中获取插入ID? 问题答案: 如果它是自动生成的密钥,那么你可以使用它。你需要Statement使用与用于相同的名称进行调用INSERT。首先,你需要创建用于通知JDBC驱动程序以返回键的语句。 这是一个基本示例: 请注意,你是否依赖JDBC驱动程序。当前,大多数最新版本都可以使用,但是如果我没错,Oracle JDBC驱动程序仍然有些麻烦。MySQL和DB2已经支持它很

  • 我想用Java中的JDBC在数据库中插入一条记录(在我的例子中是Microsoft SQL Server)。同时,我想获得insert ID。如何使用JDBC API实现这一点?