将标记保存到firebase中的记录有哪些方法?例如,我有一个拥有收藏夹的用户,他/她可以为收藏夹添加多个标签。我希望能够通过一个或多个标签进行查询?
这是基本结构
Users{
favourites: {
fav_1:{
tags:[tag1,tag2,tag3,...]
}
fav_2:{
tags:[tag1,tag2,...]
}
.....
}
}
答案 0 :(得分:5)
在Firebase中(与大多数NoSQL数据库一样),您通常需要根据应用程序的使用方式对数据建模。
您当前的模型非常适合查找特定用户的标记列表(fav_1,fav_2)。然而,找出特定标签的用户列表并不是那么好。要允许后一个查询,请将反向查找列表添加到数据模型中:
Tags: {
fav_1: {
User1: true,
User2: true
}
...
}
通过将其与原始模型相结合,您可以查找用户的标签列表以及标签的用户列表。
有关NoSQL数据建模的精彩介绍,请参阅NoSQL data modeling。