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

firebase设置后如何取回文档?

胡景澄
2023-03-14

设置新文档ID后如何取回文档ID?

我有一些尝试,但这里是我的最新:

handleCreateCard = async (name, token) => {
    try {
        const new_card = await firestore()
          .collection('Cards')
          .doc()
          .set({
            user_id: user.uid,
            name: name,
            token: token,
          })
          .then(function(docRef) {
              console.log("Document written with ID: ", docRef.id);
          })
          .then(() => this.props.navigation.navigate("CardDetail", {cardId: 2}));

//              console.log("ATTEMPT !", handleCreateCard);
//              console.log("ATTEMPT 2", new_card);
        } catch (error) {
            console.log(error.toString(error));
        }
    }

docRef行给我错误:

错误:TypeError: null不是对象(评估'docRef.id')

记录handleCreateCard错误:引用错误:找不到变量:handleCreateCard

然后,新卡:“此处未定义”

尝试做:

.then(docRef => {
    console.log("Document written with ID: ", this.id); // also tried docRef.id
})

我得到用ID写的文档:未定义与docRef.id:TypeError: null不是对象(评估'docRef.id')

文档也正在创建中,因此不确定为什么它不会返回

我尝试了几种方法来实现这一点,然后还尝试了上面提到的所有方法:Firestore-如何在将文档添加到集合后获取文档id

不知道为什么它不起作用。

有什么帮助吗?

共有1个答案

昝枫
2023-03-14

如API文档中所述,没有参数的doc()立即返回一个已经包含ID的DocumentReference。

const docRef = await firestore()
    .collection('Cards')
    .doc()
const id = docRef.id
docRef
    .set(...)
    .then(/* use the id here if you want */)
 类似资料:
  • 我使用这个代码片段允许用户在Appplication中设置他喜欢的区域设置:

  • 我有一个电影应用程序,其中一个名为“现在放映”的列表项将打开一个新的活动,以加载从我的firebase电影数据库中提取的电影列表。但是,当我按下“现在显示”时,app就会崩溃。这是我的密码 这就是我得到的错误

  • 问题内容: 如何使用jQuery设置和取消设置Cookie,例如创建一个名为的Cookie 并将其值设置为? 问题答案: 2019年4月更新 Cookie的读取/操作不需要jQuery,因此请不要使用下面的原始答案。 转到https://github.com/js-cookie/js-cookie,然后在其中使用不依赖jQuery的库。 基本示例: 有关详细信息,请参见github上的文档。 参见

  • 问题内容: 如何删除后退按钮文本。 当前的后退按钮: <返回 所需的后退按钮: <其他 这些都不起作用: 后退按钮属于上 一个 视图控制器,而不是当前在屏幕上显示的那个。 要修改后退按钮,您应该 在 启动segue的视图控制器上 在 按下按钮 之前 对其 进行 更新: 斯威夫特3、4和5: 要么

  • 我正在用firebase实时数据库处理一些文档。我需要删除一个我无权通过SDK在客户端读取的文档。为了做到这一点,我需要知道id是什么,所以我应该将其存储在我的db(mongo)中,当我需要删除firebase上的文档时,我只需要从我的db中获取它,然后删除它。 我看了一下这个答案,但它对我不起作用。 我使用此方法将文档插入firebase DB(服务器端使用firebase admin) 如果我