Firebase / AngularFire - 抓取一系列子项
Firebase / AngularFire - Grabbing a range of children
如何使用 Firebase 中的查询获取一定范围内的子项(例如第二个子项到第五个)?我尝试过类似的东西:
new Firebase(config.fb + '/content/posts').startAt(null, 1).endAt(null, 5)
and
new Firebase(config.fb + '/content/posts').startAt(1).endAt(5)
这是两个例子 'posts':
{
-KDa3Ml3gMcljX6ojEs3: {
title: 'Example post 3',
body: 'This is a test'
},
-KDa3NLvBpLzXMC0npI_: {
title: 'Example post 3',
body: 'This is a test'
}
}
这应该有效:
var posts = new Firebase(config.fb + '/content/posts').orderByKey().startAt(1).endAt(5);
$scope.posts = $firebaseArray(posts);
或者,您可以使用类似以下内容打印它们:
var posts = new Firebase(config.fb + '/content/posts').orderByKey().startAt(1).endAt(5);
posts.on('value', function(snapshot) {
snapshot.forEach(function(child) {
console.log(child.val());
});
});
更新(根据您提供的附加信息):
Firebase 可以查询:
- 项目的关键
- 物品的价值
- 子项的值 属性
它不能 查询项目的索引,就像您试图做的那样。唯一的方法是:
- 使用该索引作为项目的关键字
- 添加索引作为项目的子项 属性 的值
如果您尝试执行其中任何一项,您将 运行 了解 Firebase 不支持此功能的原因:为大量多用户扩展此类基于索引的操作非常困难应用。有关该主题的更广泛的解释,请参阅 arrays in Firebase。
如何使用 Firebase 中的查询获取一定范围内的子项(例如第二个子项到第五个)?我尝试过类似的东西:
new Firebase(config.fb + '/content/posts').startAt(null, 1).endAt(null, 5)
and
new Firebase(config.fb + '/content/posts').startAt(1).endAt(5)
这是两个例子 'posts':
{
-KDa3Ml3gMcljX6ojEs3: {
title: 'Example post 3',
body: 'This is a test'
},
-KDa3NLvBpLzXMC0npI_: {
title: 'Example post 3',
body: 'This is a test'
}
}
这应该有效:
var posts = new Firebase(config.fb + '/content/posts').orderByKey().startAt(1).endAt(5);
$scope.posts = $firebaseArray(posts);
或者,您可以使用类似以下内容打印它们:
var posts = new Firebase(config.fb + '/content/posts').orderByKey().startAt(1).endAt(5);
posts.on('value', function(snapshot) {
snapshot.forEach(function(child) {
console.log(child.val());
});
});
更新(根据您提供的附加信息):
Firebase 可以查询:
- 项目的关键
- 物品的价值
- 子项的值 属性
它不能 查询项目的索引,就像您试图做的那样。唯一的方法是:
- 使用该索引作为项目的关键字
- 添加索引作为项目的子项 属性 的值
如果您尝试执行其中任何一项,您将 运行 了解 Firebase 不支持此功能的原因:为大量多用户扩展此类基于索引的操作非常困难应用。有关该主题的更广泛的解释,请参阅 arrays in Firebase。