将Firebase混合字段中的数据结构化为ID

时间:2016-06-04 01:45:55

标签: firebase firebase-realtime-database database nosql

我是使用Firebase和NoSQL数据库的新手。我想知道是否可以这样做: 拥有用户数据库我想通过电子邮件或UID获取数据。将两个字段混合为ID并稍后使用queryStartingAtValuequeryEndingAtValue方法进行过滤是否最佳?

{
 "users": {
    "user1@gmail.comDjDJSADfgg": {
      dataUser1: ----- },

     "user2@gmail.comfmadaDkK": {
      dataUser2: ----- },

     "user3@gmail.com3Dkdjakdja4": {
      dataUser3: ----- },

     "user4@gmail.comKdsadASD": {
      dataUser4: ------ },
   }
}

1 个答案:

答案 0 :(得分:1)

虽然你可以使用queryStartingAtValuequeryEndingAtValue,但这个解决方案并不是那么清楚,想象别人读你的代码(甚至是你6个月后),他/她是否知道你的意思由queryStartingAtValue?可能不是。

我认为使用orderByChildequalTo

更清楚

e.g。

var ref = new Firebase("yourdb");

ref.orderByChild("email").equalTo("blahblah@gmail.com")
  .on( anEvent, function(snapshot) {   
       console.log(snapshot.key()); 
   });