gpt4 book ai didi

javascript - Firestore : What's the pattern for adding new data in Web v9?

转载 作者:行者123 更新时间:2023-12-04 12:31:11 26 4
gpt4 key购买 nike

我在很多地方看到访问嵌套文档和集合的模式类似于 db.collection("users").doc("frank").collection("pets")等等
这对我来说很有意义并且很容易理解。麻烦的是,我的 (React) 项目是以 Web 版本 9 的方式设置的。我一遍又一遍地梳理了文档,除了在 Y 集合中引用 X 文档之外,看不到任何其他内容。
我需要引用用户 > uid > someCollection
但在 Web 版本 9 中,我只能这样做:doc(db, "users", uid)我该如何深入?

最佳答案

如果您想获得:

  • 一个 CollectionReference ,然后使用 collection() :
  • const myCol = collection(db, "collection", "doc1", "sub-col1")
  • 一个 DocumentReference ,然后使用 doc() :
  • const myDoc = doc(db, "collection", "doc1", "sub-col1", "sub-doc1")
    概念保持不变。文档的路径具有偶数个段,例如 col/doc/sub-col/sub-doc虽然集合的路径很奇怪,例如 col/doc/sub-col .
    如果传递的参数数量无效,这两种方法都会抛出错误。

    在 namespace 版本 (v8) 中,它曾经看起来像:
    // DocumentReference
    firebase.firestore().doc("col/doc/sub-col/sub-doc")

    // CollectionReference
    firebase.firestore().collection("col/doc/sub-col")
    本质上,您不断将路径段添加到相同的 doc()collection()方法。
    doc(firestore: Firestore, path: string, ...pathSegments: string[]):
    // You can also use spread operator with an array

    使用扩展运算符的示例:
    const myDocPath = "users/user1/posts/post1/comments/comment1"
    const docRef = doc(db, ...myDocPath.split("/"))
    如果使用 spread operator,请确保您没有任何前导或尾随斜杠与 split() .

    关于javascript - Firestore : What's the pattern for adding new data in Web v9?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68987326/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com