【发布时间】:2016-05-09 02:58:58
【问题描述】:
在我的 React Native 应用程序中,我目前正在尝试从数据库中提取所有 selected 属性设置为“true”的项目。但是,当我记录此查询的结果时,它们都以null 的形式返回(即使预期的响应应该返回两个对象)。我的相关代码以及 Firebase 结构包含在下面,如果您发现任何内容,请告诉我。
const rootRef = new Firebase(`${ config.FIREBASE_ROOT }`)
var queryRef = rootRef.orderByChild("items/selected");
var solution = queryRef.equalTo("true").once('value', function(snap) {
console.log(snap.val())
});
Firebase JSON:
"items":
[
{
"title":"ball",
"selected": "false"
},
{
"title":"dog",
"selected": "true"
},
{
"title":"phone",
"selected": "false"
},
{
"title":"cup",
"selected": "true"
}
],
【问题讨论】:
-
在下面回答。但我也注意到您将项目作为数组存储在 JSON 树中,这通常会导致问题。请务必阅读相关的section in the Firebase documentation
-
@FrankvanPuffelen 谢谢——但我认为在 JSON 中,如果您有多个相同类型的对象,它们应该存储为数组吗?在这种情况下,我的每个项目都具有相同的属性(相同类型的对象),所以我认为我需要将它们存储在一个数组中。我还应该怎么做呢?
-
阅读(关于存储数据列表的 Firebase 文档](firebase.com/docs/web/guide/saving-data.html#section-push)。事实上,我强烈建议您完整阅读该指南。在那里花费几个小时,将节省更多时间行。
-
@FrankvanPuffelen 太好了,感谢您将我指向此文档。很有帮助!
标签: database reactjs firebase react-native