使用Firebase查询数组值

jua*_*ach 3 arrays nosql firebase firebase-realtime-database

是否有任何方法可以在Firebae上过滤数组中的数据?

我的Firebase上有这个型号:

-KABIGeWnBMUKjLTcvp8  
  deviceToken:"7DE60240CB4B712F05A009F32358610C1327917E7E68409..."
  favorites
    0:"Masha"
    1:"moksha"
  name:"juan"
Run Code Online (Sandbox Code Playgroud)

问题是我找不到任何方法来获取"favorites"数组字段中包含特定值的所有"用户".

Fra*_*len 6

不,这不是一个选项请参阅firebase等效于sql in().

相反:反转您的数据结构以使此查询成为可能:

items_by_favorites
  "Masha"
    "-KABIGeWnBMUKjLTcvp8"
  "moksha"
    "-KABIGeWnBMUKjLTcvp8"
Run Code Online (Sandbox Code Playgroud)

现在,您可以通过简单的读取查找Masha的项目键:ref.child('items_by_favorites/Masha')然后加载每个项目:

ref.child('items_by_favorites/Masha').on('value', function(snapshot) {
  snapshot.forEach(function(childSnapshot) {
    var key = childSnapshot.key();
    ref.child('items').child(key).once('value', function(itemSnapshot) {
      console.log(itemSnapshot.val());
    });
  });
})
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

8901 次

最近记录:

6 年,2 月 前