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

使用firestore[副本]生成我们自己的id文档

江志业
2023-03-14

如何选择要使用的id文档:

firebase.firestore().collection("Users").doc(firebase.auth().currentUser.uid).collection("tasks").add({task:task.taskname,category:task.category})

这里,我创建了一个随机id文档,但我想选择一个(我指的是收集任务中文档的id)

共有2个答案

岳城
2023-03-14

使用添加文档。add()返回文档引用对象

因此,使用此处留档中的以下代码,这是您想要的代码:

// Add a new document with a generated id.
db.collection("cities").add({
    name: "Tokyo",
    country: "Japan"
})
.then((docRef) => {
    console.log("Document written with ID: ", docRef.id);
})
.catch((error) => {
    console.error("Error adding document: ", error);
});

docRef.id保存您添加的文档的ID。

燕经国
2023-03-14

someCollectionRef。add(/*data*/)是someCollectionRef的别名。doc()。设置(/*数据*/)。

因此,要指定您自己的ID,只需使用:

yourCollectionRef.doc(/* your id */).set(/* your data */);
firebase.firestore()
  .collection("Users")
  .doc(firebase.auth().currentUser.uid)
  .collection("tasks")
  .doc(/* your custom ID here */)
  .set({
    task: task.taskname,
    category: task.category
  })
  .then(() => console.log('success!'))
  .catch((err) => console.error('failed to set doc data!', err));

要在文档中放置文档ID,可以将此链拆分为以下两部分。除非计划使用集合组查询,否则可以使用FieldPath。documentId()以按ID查询文档,而无需将其存储在文档中。

const myTaskDocRef = firebase.firestore()
  .collection("Users")
  .doc(firebase.auth().currentUser.uid)
  .collection("tasks")
  .doc(/* your custom ID here */);

myTaskDocRef
  .set({
    id: myTaskDocRef.id,
    task: task.taskname,
    category: task.category
  })
  .then(() => console.log('success!'))
  .catch((err) => console.error('failed to set doc data!', err));
 类似资料:
  • 如果要在apstring变量中查找一个字符,可能我们并不想从字符串的头部开始查找。这种find函数的一种实现方式就是写一个增加一个参数的版本——传入我们希望的开始位置的索引。这是该函数的一个实现: int find (apstring s, char c, int i) { while (i<s.length()) { if (s[i] == c) return i; i =

  • 我更新了我的应用程序,并在我的设备上测试了它。如果我在eclipse中通过run按钮测试应用程序,那么一切工作都很好,但是如果我将它导出到一个apk中并尝试安装apk,它就会失败。 没有错误代码或其他什么,只是说app还没有安装。 知道为什么会这样吗?我在我的应用程序中只做了一些改动:我从我的应用程序中移除了basegameutils库,并迁移到了没有basegameutils的新api。就是这样

  • 问题内容: 有人知道如何从1开始生成,以便下一个对象具有2,依此类推吗? 我尝试了以下方法,但不起作用: 问题答案: 您需要一个 静态的 类成员来跟踪上次使用的索引。确保还实现一个复制构造函数: 更新: 正如@JordanWhite建议的那样,您可能希望使static计数器成为 atomic ,这意味着可以安全地同时使用(即一次在多个线程中使用)。为此,将类型更改为: 增量读取和复位操作变为:

  • Algebraic Data Types 入门 在前面的章节中,我们谈了一些 Haskell 内置的型别和 Typeclass。而在本章中,我们将学习构造型别和 Typeclass 的方法。 我们已经见识过许多态别,如 Bool、Int、Char、Maybe 等等,不过在 Haskell 中该如何构造自己的型别呢?好问题,一种方法是使用 data 关键字。首先我们来看看 Bool 在标准函式库中的

  • 问题内容: 嗨,我编写了这样的代码 但是我从DAO手动设置了它,例如“ e.setUserID(01);”。否则将不插入行是否有任何过程来获取ID值并检索自动生成的值。我想我会得到一些帮助 问题答案: 采用