我如何通过 child 的 child 来订购?如果这不可能,我有什么选择?
How can I order by child of a child? What options do I have if this is not possible?
我正在处理的数据的基本结构是:
Claims: {
"6B7CBFB4-16EA" : {
"E4A5DB45-C1DE" : {
"ID" : 3,
"Store" : "Staples"
}
}
我还在这个 firebase 上设置了一些示例数据 https://torrid-inferno-3290.firebaseio.com/Claims as well as a jsfiddle https://jsfiddle.net/8j1zf7vd/
我希望能够通过 ID 或商店订购
前两层是随机生成的标识符。目前正在做的是我们正在检索 Claims ref 下的所有数据,然后对其进行排序 client-side 但随着应用程序的增长,这变得太多了,所以我们需要在服务器端对其进行排序和限制。
如果这不可能,而且我只能在 Child 上查询,那么展平数据的最佳方法是什么?这将在大型生产应用程序上进行,因此会有大量数据要移动。 Firebase 是否提供了实现此目的的简单方法?
无法在 Firebase 数据库 API 中对动态孙 属性 进行排序。这意味着您必须修改数据结构以匹配您的应用程序访问它的方式。
一种方法是将孙子存储在他们的 ID 下,而不是您现在使用的密钥:
Claims: {
"6B7CBFB4-16EA" : {
"ID_3" : {
"Key": "E4A5DB45-C1DE"
"Store" : "Staples"
}
}
如果您同时需要您自己的密钥和 ID 数据,您可以在每个声明下存储一个迷你索引以允许查找:
Claims: {
"6B7CBFB4-16EA" : {
"Key_E4A5DB45-C1DE": {
"ID": 3
"Store" : "Staples"
},
"keysByID": {
"3" : {
"Key": "E4A5DB45-C1DE"
}
},
"keysByStore": {
"Staples": {
"Key": "E4A5DB45-C1DE"
}
}
}
我正在处理的数据的基本结构是:
Claims: {
"6B7CBFB4-16EA" : {
"E4A5DB45-C1DE" : {
"ID" : 3,
"Store" : "Staples"
}
}
我还在这个 firebase 上设置了一些示例数据 https://torrid-inferno-3290.firebaseio.com/Claims as well as a jsfiddle https://jsfiddle.net/8j1zf7vd/
我希望能够通过 ID 或商店订购
前两层是随机生成的标识符。目前正在做的是我们正在检索 Claims ref 下的所有数据,然后对其进行排序 client-side 但随着应用程序的增长,这变得太多了,所以我们需要在服务器端对其进行排序和限制。
如果这不可能,而且我只能在 Child 上查询,那么展平数据的最佳方法是什么?这将在大型生产应用程序上进行,因此会有大量数据要移动。 Firebase 是否提供了实现此目的的简单方法?
无法在 Firebase 数据库 API 中对动态孙 属性 进行排序。这意味着您必须修改数据结构以匹配您的应用程序访问它的方式。
一种方法是将孙子存储在他们的 ID 下,而不是您现在使用的密钥:
Claims: {
"6B7CBFB4-16EA" : {
"ID_3" : {
"Key": "E4A5DB45-C1DE"
"Store" : "Staples"
}
}
如果您同时需要您自己的密钥和 ID 数据,您可以在每个声明下存储一个迷你索引以允许查找:
Claims: {
"6B7CBFB4-16EA" : {
"Key_E4A5DB45-C1DE": {
"ID": 3
"Store" : "Staples"
},
"keysByID": {
"3" : {
"Key": "E4A5DB45-C1DE"
}
},
"keysByStore": {
"Staples": {
"Key": "E4A5DB45-C1DE"
}
}
}