gpt4 book ai didi

javascript - 在 firebase for web 上查询数据

转载 作者:行者123 更新时间:2023-11-29 16:47:49 28 4
gpt4 key购买 nike

所以我正在使用 firebase 构建一个音乐平台,用户可以在其中上传他们的歌曲。当用户登录时,我将他们的数据保存在“usuarios”节点上。当他们上传歌曲时,我会推送到“musicas”节点(usuarios 的子节点)。这样,我就知道是谁上传了这首歌。

但问题是:我想获得所有最近上传的 15 首歌曲的列表。我怎么做?我的数据结构有误吗?

这是我尝试过的:

  var musicsRef = firebase.database().ref('usuarios').orderByChild('musicas');
musicsRef.on('value', function(snapshot) {
console.log(snapshot.child('musicas');
});

这是我的数据库结构:enter image description here

最佳答案

使用 Firebase(与大多数 NoSQL 数据库一样),您通常最终会按照应用使用数据的方式对数据进行建模。因此,如果您需要查找最近上传歌曲的全局列表,您应该保留这样一个列表:

songsByDate
$pushIdOfSong: true

您会注意到我们没有在此列表中保留实际值。它只是每首歌曲的 ID 和一个 true 值。这称为二级索引,因此命令我们 explain it in our documentation on creating a scalable data structure .

有了这个结构,您可以查询:

var recents = ref.child('songsByDate').orderByKey().limitToLast(15);
recents.on('child_added', function(snapshot) {
var key = snapshot.key;
// load the song by its key
});

我强烈推荐在 NoSQL data modeling 上阅读这篇文章.

关于javascript - 在 firebase for web 上查询数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39088436/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com