Firebase,查询“不等于”

时间:2017-08-17 15:57:36

标签: javascript firebase firebase-realtime-database

这是我的数据库结构:

{
  "feeling" : {
    "fake0" : {
      "fake1" : {...},
      "fake2" : {...}
    }
  },
  "profile" : {
    "fake0" : {...},
    "fake1" : {...},
    "fake2" : {...},
    "fake3" : {...}
  }
}

如果记录的用户是“fake0”,他如何获取所有不符合他感觉的个人资料?

我想做的事情如下: ref("/profile", {notEqualTo: ["fake1","fake2"]}).on('once', .....)

也许我的结构很糟糕,只要告诉我一个更好的结构,我会改变它:)!

1 个答案:

答案 0 :(得分:4)

这个以及其他一些类似问题(Firebase: Query to exclude data based on a condition)和我对Firebase的体验让我相信Firebase中没有任何功能可以直接执行此操作。

现在您可以按属性进行过滤,这完全不是您要查找的内容,但是对您构建数据库可能很有用,这样用户配置文件也可能包含对包含/的用户的引用他们/他们的感觉。因此,您的查询将变得更加容易。您可能还希望,如上面链接的其他StackOverflow线程中所述,使用用户ID作为键并将其值存储为" true。"这样你可以通过ID进行检查,如果我没记错,比检查值更容易。

我知道Firebase还建议您存储一些冗余信息;这是你想在写作还是阅读时付出努力的问题。