我对firebase还是比较新的,我需要关于如何过滤离子中的firebase数据的指导。目前,我正试图让用户在用户键'Apply'为真的情况下调用数据。到目前为止,在网上有答案使用orderByChild声明(https://firebase.google.com/docs/reference/js/firebase.database.Query),但我不确定这是否可以应用在这种情况下。在离子中过滤Firebase中的数据
回答
你可以用火力数据库orderByChild
和equalTo
方法。从火力参考
OrderByChild:
orderByChild orderByChild(路径)返回firebase.database.Query
它生成由指定的子键排序的新查询对象。
查询一次只能按一个键进行排序。在同一个查询中多次调用orderByChild()是一个错误。从火力参考
equalTo:
equalTo(值,键)返回firebase.database.Query
创建查询,其包括包含指定值的儿童。
使用startAt(),endAt()和equalTo()允许我们为查询选择任意的起点和终点。
可选的键参数可用于进一步限制查询的范围。如果已指定,则具有完全指定值的子项也必须具有指定的键作为其键名。这可用于过滤具有相同值的许多匹配的结果集。
Firebase查询允许您通过任何子密钥即时订购您的数据。但是,如果您事先知道您的索引是什么,您可以通过安全规则中的.indexOn规则来定义它们,以获得更好的性能。
代码为您的问题:
const requestRef = firebase.database().ref('request');
requestRef.orderByChild('apply')
.equalTo(true)
.once('value')
.then(snapshot => snapshot.val())
.then((data) => {// your handle code here})
完整文档here
是,你可以在你的情况下使用OrderByChild为好。这应该工作。
var query = firebase.database().ref('request').orderByChild('apply').equalTo('true');
query.once('value', function (snapshot) {
console.log(snapshot.val()) //contains all users that has apply as true
})
这确实有效,尽管我建议循环播放结果而不是记录它们(以确保它们保持顺序)。请参阅https://firebase.google.com/docs/database/web/lists-of-data#listen_for_value_events此外:严格来说,这不再是'ref',而是一个查询。 :-) –
是的,你是对的。我更新了我的答案。谢谢。 :-) –
谢谢,伙计! –
- 1. Firebase数据过滤
- 2. 如何过滤Firebase中的数据?
- 3. 如何过滤Swift中的Firebase数据?
- 4. Firebase中的过滤器数据Android
- 5. 离子Angularjs不过滤数据
- 6. 如何在离子中异步检索Firebase中的数据?
- 7. 无法过滤Firebase数据
- 8. Firebase - 过滤查询数据
- 9. Angular2 +过滤Firebase数据
- 10. 过滤Firebase数据Swift
- 11. 条件过滤/ r中subseting在直线距离数据数据
- 12. 通过curl过滤firebase json数据php
- 13. 离子2列表中未过滤
- 14. 如何过滤离子过滤条?
- 15. 如何在Google Firebase数据库中使用过滤器和子元素
- 16. 在Firebase中过滤数据(使用复杂查询)android
- 17. 离子/角多重过滤
- 18. 设计firebase数据库过滤
- 19. 离子返回过滤JSON数组
- 20. 在Sql中过滤数据
- 21. 在python中过滤数据
- 22. 在Mysql中过滤数据
- 23. 在angularJS中过滤数据
- 24. 在tableview中过滤数据
- 25. 在UI5中过滤数据
- 26. Firebase数据库查询中的多个orderByChild过滤器
- 27. Angular JS搜索过滤器没有使用Firebase过滤数据
- 28. 如何在Firebase数据库中追加子项中的数据?
- 29. 使用离子搜索栏通过http.get来过滤离子
- 30. vb.net中的数据过滤
谢谢,男人! –