gpt4 book ai didi

firebase - Firestore 标签数据模型最佳实践(数组与字典)

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

我想根据用户输入的标签查询 firestore 中的一些帖子。每当用户提交帖子时,用户也会随之提交标签。我当前的数据结构如下所示:

postId: {
tags: {
"firebase": true,
"angular": true,
"cats": false
}
}

但是,上述数据结构使得查询变得困难。我不能使用 arrayContainsAny 函数,必须下载所有标签并检查每个标签/键是否为真,然后返回帖子。但是,如果我将标签存储为数组:

postId: {
tags: {
0: "firebase",
1: "angular",
2: "cats"
}
}

我可以使用 postsCollection.whereField("tags", arrayContainsAny: tagsArray) 之类的 firestore 函数来进行快速查询。

将标签存储为数组是否更有效或可扩展?

提前致谢!

最佳答案

在 NoSQL 类型数据库中建模数据的方法没有对错之分。建模的最佳实践始终取决于您要对其执行的查询。

听起来使用 map 对您的用例无效。您已经确定它会使您的查询变得困难,使用数组会更方便。在这种情况下,请使用数组,因为您知道它可以满足您的查询。

请记住,并非每个数据模型都能满足所有类型的查询。对于这种特殊情况,数组似乎更好,但您很容易遇到另一个查询根本无法正常工作的情况。

关于firebase - Firestore 标签数据模型最佳实践(数组与字典),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60803262/

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