我可以在firebase中保存和查询标签吗?

时间:2016-08-31 21:44:42

标签: firebase firebase-realtime-database nosql

将标记保存到firebase中的记录有哪些方法?例如,我有一个拥有收藏夹的用户,他/她可以为收藏夹添加多个标签。我希望能够通过一个或多个标签进行查询?

这是基本结构

Users{
 favourites: {
   fav_1:{
        tags:[tag1,tag2,tag3,...]
   }
   fav_2:{
        tags:[tag1,tag2,...]
   }

   .....
 }

}

1 个答案:

答案 0 :(得分:5)

在Firebase中(与大多数NoSQL数据库一样),您通常需要根据应用程序的使用方式对数据建模。

您当前的模型非常适合查找特定用户的标记列表(fav_1,fav_2)。然而,找出特定标签的用户列表并不是那么好。要允许后一个查询,请将反向查找列表添加到数据模型中:

Tags: {
    fav_1: {
        User1: true,
        User2: true
    }
    ...
}

通过将其与原始模型相结合,您可以查找用户的标签列表以及标签的用户列表。

有关NoSQL数据建模的精彩介绍,请参阅NoSQL data modeling