在多个文档ID中的Firestore

黄碧玉

我从一个集合中获取一组文档ID,以用于查询另一个集合。这是我的查询的样子:

    firebase
      .firestore()
      .collection("users")
      .doc(this.props.userID)
      .get()
      .then((snapshot) => {
        const postIDs = snapshot.data().posts;

        firebase
          .firestore()
          .collection("posts")
          .where(firebase.firestore.FieldPath.documentId(), "in", postIDs)
          .orderBy("timestamp")
          .get()
          .then((snapshot) => {
            console.log(snapshot.data());
          });
      });

snapshot.data()是不确定的,因此我假设查询有问题。我可以确认中存在有效的ID postIDs

数据库的结构如下:

users:
-- user with userID
---- displayName
---- etc.
---- posts (array of postIDs)
posts:
-- post with postID
杰伊·科迪斯(Jay Codist)

当您调用时collection().get(),响应不保留data()id属性,因为它返回了多个文档(理论上无论如何),因此docs,即使只有一个与查询匹配的文档,您也只能通过该属性访问这些文档

因此,如果要访问与查询匹配的文档,请执行以下操作:

firebase.firestore()
 .collection("posts")
 .where(firebase.firestore.FieldPath.documentId(), "in", postIDs)
 .orderBy("timestamp")
 .get()
 .then((snapshot) => {
    const posts = snapshot.docs.map(doc => doc.data());
    console.log(posts);
    ...
 }

您只能致电,snapshot.data()或者snapshot.exists如果您在查询中指定了一个文档,则firestore().collection("posts").doc(someDocID).get()就像在第一个查询中一样。如果不是,请参考snapshot.docs

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

处理文档中的多个 ID

来自分类Dev

Firestore从集合中查询多个文档

来自分类Dev

Firestore查询中的Flutter传递文档ID

来自分类Dev

获取Firestore中已删除文档的ID

来自分类Dev

集合文档中具有随机ID的Firestore嵌套文档

来自分类Dev

在 Firestore 中创建文档时无法指定文档 ID

来自分类Dev

检查多个文档是否存在ID Firestore集合

来自分类Dev

将文档ID作为字段ID包含在Firestore中

来自分类Dev

如何在云功能中从 Firestore 访问多个文档

来自分类Dev

在Firestore中,如何在foreach枚举中检索文档ID

来自分类常见问题

在Firestore数据库中查询文档ID

来自分类Dev

在Flutter Cloud Firestore中设置自定义文档ID

来自分类Dev

angular 7中的firestore如何获取文档ID

来自分类Dev

如何在集合中获取文档ID的列表而不在Firestore中获取文档的内容?

来自分类Dev

如何从Firestore中的文档ID数组中获取所有子集合文档

来自分类Dev

Firebase Firestore-访问另一个ID未知的文档中的文档

来自分类Dev

从Firestore读取另一个文档中具有ID的文档

来自分类Dev

在 Cloud Firestore 中,如何添加具有显式文档 ID 的文档

来自分类Dev

如何在Elasticsearch索引中删除多个ID文档

来自分类Dev

Laravel 中的下载按钮,带有多个文档 ID 的按钮

来自分类Dev

如何使用Flutter在Firestore中检查多个文档中的特定值

来自分类Dev

从文档引用数组中获取Firestore文档

来自分类Dev

Firebase查询,从单个集合中获取多个文档,每个文档中的doc.id等于单独列表中的id

来自分类Dev

Firestore检索多个文档的安全规则

来自分类Dev

如何在Firestore中加入多个文档?

来自分类Dev

Swift firestore 同时获取多个集合的文档?

来自分类Dev

Firestore / Vuejs:无法从Firestore文档中删除

来自分类Dev

在Cloud Firestore中删除文档

来自分类Dev

更新 Firestore 文档中的字段

Related 相关文章

  1. 1

    处理文档中的多个 ID

  2. 2

    Firestore从集合中查询多个文档

  3. 3

    Firestore查询中的Flutter传递文档ID

  4. 4

    获取Firestore中已删除文档的ID

  5. 5

    集合文档中具有随机ID的Firestore嵌套文档

  6. 6

    在 Firestore 中创建文档时无法指定文档 ID

  7. 7

    检查多个文档是否存在ID Firestore集合

  8. 8

    将文档ID作为字段ID包含在Firestore中

  9. 9

    如何在云功能中从 Firestore 访问多个文档

  10. 10

    在Firestore中,如何在foreach枚举中检索文档ID

  11. 11

    在Firestore数据库中查询文档ID

  12. 12

    在Flutter Cloud Firestore中设置自定义文档ID

  13. 13

    angular 7中的firestore如何获取文档ID

  14. 14

    如何在集合中获取文档ID的列表而不在Firestore中获取文档的内容?

  15. 15

    如何从Firestore中的文档ID数组中获取所有子集合文档

  16. 16

    Firebase Firestore-访问另一个ID未知的文档中的文档

  17. 17

    从Firestore读取另一个文档中具有ID的文档

  18. 18

    在 Cloud Firestore 中,如何添加具有显式文档 ID 的文档

  19. 19

    如何在Elasticsearch索引中删除多个ID文档

  20. 20

    Laravel 中的下载按钮,带有多个文档 ID 的按钮

  21. 21

    如何使用Flutter在Firestore中检查多个文档中的特定值

  22. 22

    从文档引用数组中获取Firestore文档

  23. 23

    Firebase查询,从单个集合中获取多个文档,每个文档中的doc.id等于单独列表中的id

  24. 24

    Firestore检索多个文档的安全规则

  25. 25

    如何在Firestore中加入多个文档?

  26. 26

    Swift firestore 同时获取多个集合的文档?

  27. 27

    Firestore / Vuejs:无法从Firestore文档中删除

  28. 28

    在Cloud Firestore中删除文档

  29. 29

    更新 Firestore 文档中的字段

热门标签

归档