在 Firestore 中存储标签的最有效方法是什么?

2023-12-31

NoSQL Firestore 没有表,标记的最佳方式是什么,只需将多个标记存储在数组中?


NoSQL Firestore 没有表。

没错,数据库是JSON格式的。

标记的最佳方法是什么,只需将多个标记存储在数组中?

根据您的应用程序的用例,您可以在两种方法之间进行选择。如果您的标签是字符串类型,那么您可以将此文字字符串存储在数组中。这是第一种方法,数据库架构可能如下所示:

Firestore-root
    |
    --- questions (collections)
          |
          --- questionId (document)
                 |
                 --- questionId: "02cubnmO1wqyz6yKg571"
                 |
                 --- title: "Question Title"
                 |
                 --- tags ["History", "Geography"]

正如您所看到的,我以问题集合为例,其中每个文档都有一组标签。

如果您需要有关标签的更多详细信息,第二种方法是为每个标签创建一个对象并将该标签对象存储在集合中。在问题文档中,您只需要将标签的 id 也存储在数组中,如以下架构所示:

Firestore-root
    |
    --- questions (collections)
    |     |
    |     --- questionId (document)
    |            |
    |            --- questionId: "02cubnmO1wqyz6yKg571"
    |            |
    |            --- title: "Question Title"
    |            |
    |            --- tags ["tagId", "tagId"]
    |
    --- tags (collections)
          |
          --- tagId (document)
          |     |
          |     --- tagId: "yR8iLzdBdylFkSzg1k4K"
          |     |
          |     --- tagName: "History"
          |     |
          |     --- //Other tag properties
          |
          --- tagId (document)
                |
                --- tagId: "tUjKPoq2dylFkSzg9cFg"
                |
                --- tagName: "Geography"
                |
                --- //Other tag properties
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Firestore 中存储标签的最有效方法是什么? 的相关文章

随机推荐