Firebase(nosql)检查密钥是否包含子字符串

时间:2015-11-30 05:34:42

标签: javascript angularjs firebase angularfire nosql

因此,在使用angularjs和PHP构建聊天应用程序之后,我意识到服务器性能非常糟糕,并决定尝试使用angularjs与firebase(angularfire)进行交谈,现在我遇到了一个小障碍,并且可以'似乎弄清楚如何完成显示他不同的用户聊天室。请注意这是我第一次使用NoSql结构。

目前我的结构是这样的:

{
  "-K4KXS4k3mftFMe7jy_g" : {
    "members" : {
      "guest:Aaaa1aa" : {
        "user1" : "Aaaa1aa",
        "user2" : "guest"
      }
    },
    "messages" : {
      "guest:Aaaa1aa" : {
        "-K4LdBwkMe7dcshqCXxW" : {
          "content" : "gg",
          "from" : "Aaaa1aa"
        }
      }
    },
    "rooms" : {
      "guest:Aaaa1aa" : {
        "roomname" : "guestAaaa1aa",
        "type" : "private"
      }
    }
  }
}

我想检查一下

members->'key'->user1 == 'Aaaa1aa'

但是,当用户点击另一个功能中的“消息”(创建新房间或打开现有房间)时,我为每个成员数据(来自房间密钥)构建密钥的方式会传递两个参数是他们的用户名和他们点击的用户个人资料名称。因此带有分隔符的键':' (嘉宾:Aaaa1aa)。

所以我的问题是我可以检查成员键是否包含子字符串值吗?有点像在PHP中爆炸。

我希望我的查询如下:

select uniqueid(room_name) from members where user1 = 'passed value'

如果以上可能,以下也可以吗?

select uniqueid(room_name) from members where user1 = 'passed value' || user2 = 'passed value'

感谢您的帮助,如果我构建错误请告诉我并指出正确的方向。

0 个答案:

没有答案