我正在尝试运行Firebase实时数据库查询,以根据从根嵌套在第4级的值过滤数据。下面是数据结构,我的查询是:
let ordersSnapshot = await admin.database().ref(`orders`).orderByChild(`info/infoStatus`)
.equalTo("In Process")
.once('value');
但是这个查询没有返回任何数据。我已经启用了索引,但没有任何警告。我还将我的查询改为< code >。order by child(' info status '),但没有结果。
如果我将ref设置为低于一个级别,即admin.database(). ref('order/userId1'). orderByUNICEF('info/infostatus'). equalTo("In Process")
,那么它会成功获得结果。但是在我的场景中,我没有可以在orderByUNICEF
中使用的用户ID。
这是实时数据库查询的限制,即我需要更新我的数据结构还是我的查询中有任何错误?
订单节点:
{
"userId1": {
"orderId1": {
"info": {
"infoStatus": "In Process"
}
},
"orderId2": {
"info": {
"infoStatus": "Complete"
}
}
},
"userId2": {
"orderId1": {
"info": {
"infoStatus": "In Process"
}
}
},
"userId3": {
"orderId1": {
"info": {
"infoStatus": "In Process"
}
}
}
}
您订购/过滤的属性必须位于每个子级下的固定路径上。这意味着在您当前的数据结构中,您不能过滤所有用户的订单,只能过滤特定用户的订单。
典型的解决方案是平展数据,将订单存储在平面列表中,并在仍需要时向每个用户添加订单 ID 的查找列表。像这样:
users: {
"userId1": {
"orderId1": true,
"orderId2": true
},
"userId2": {
"orderId3": true
}
"userId3": {
"orderId4": true
}
}
orders: {
"orderId1": {
"info": {
"infoStatus": "In Process"
}
},
"orderId2": {
"info": {
"infoStatus": "Complete"
}
},
"orderId3": {
"info": {
"infoStatus": "In Process"
}
},
"orderId4": {
"info": {
"infoStatus": "In Process"
}
}
}
另请参见:Firebase查询双重嵌套
我在从Firebase实时数据库查询嵌套数据时遇到问题。 给出以下示例数据结构: 让我们假设这个集合将有数百个孩子。此外,在执行查询之前,ID是随机的和未知的。如图所示,每个交叉点都有几个其他值。 首先,我必须列出键以给定值开始的所有交叉。例如,如果我搜索1,我希望得到这个简单例子中的所有交叉。 此代码段解决了这个问题。虽然,我仍然不确定这是否是实现这一目标的最佳方式。 我的主要问题是,现在我必须
我在firebase中具有以下结构。 为了检索数据,我使用以下代码- 调用onDataChange()时,p0包含除组数据之外的所有其他数据。 这是我的dataclass用户模型- 这是我收到的数据快照- datasnapshot!中没有组!。 更新添加了此行mFirebaseDatabaseReference?。保持同步(错误)。它昨天工作了几次,现在不工作了!
我在一个Android应用程序中使用Firebase数据库,每次用户启动时,我都会在数据库中存储一些值,为此我会执行以下操作: 正如您在子方法中看到的,如果称为“usrId”,它将创建usrId目录,并在其中添加所有neccesary信息。但是我想为每个用户创建目录,所以我尝试传递usrId变量作为参数。但它不起作用。当我调试代码时,调试器说本地var usrId无法识别,我的问题是如何在Fire
我正在做的项目在firebase实时数据库中有3个“表”,即: 用户(包括用户的登录信息,如电子邮件、密码、手机号码等) viscripprofiles(包含基本的配置文件信息,如配置文件pic字符串、姓名、职务和来自Users表的相应用户ID) 志愿者配置文件(包含地址、纬度、经度、可用性时间以及相应的用户ID和受害者配置文件ID(由Firebase生成)) 我的数据库截图在这里输入图像描述
我正在将Firebase实时数据库迁移到Firestore,并且我有嵌套数据 我有嵌套数据,我想从中创建一个集合。 示例: 我想从FiRecovery中的嵌套数组创建一个子集合。因此我尝试了以下方法(Cloud Function): 但我得到了错误: 您有没有想过以最好的方式迁移嵌套的子数据? 雷诺更新
我有一个数据库: 当用户()在应用程序中注册时,他会填充另一个用户uid(该用户uid具有属性)并将自己的uid添加到他的个人资料中(