我有以下Firebase实时数据库:
{
"groupUsers" : {
"group1key" : {
"user1key" : "admin"
},
"group2key" : {
"user1key" : "admin",
"user2key" : "readonly",
"user3key" : "readwrite"
}
}
}
在我的Android应用中,我这样查询
DatabaseReference ref = FirebaseDatabase.getInstance().getReference("groupUsers");
ref.orderByChild(auth.getCurrentUser().getUid()).startAt("").addValueEventListener() {...}
产生警告:
使用未指定的索引。考虑将“ .indexOn”添加到安全性和Firebase数据库规则中以获得更好的性能
如何正确索引?当数据增长时,我担心我的应用程序对未索引数据的查询将变得非常慢。
我已经在我的规则文件中尝试过索引值:
".indexOn": ".value"
但这仅在数据是标量但它们是键值对("user1key" : "admin"
)的情况下才有效。
我不能像这样在我的规则文件中添加索引:
".indexOn": ["user"]
因为这需要一个常量属性名称,如下所示:
{ "groupUsers" : {
"group1key" : {
"name" : "user1"
}
}
}
但是我有像这样的名字
"user1key" : "admin",
"user2key" : "readonly",
"user3key" : "readwrite"
无法为这种结构预先创建索引。我已经在这里和这里的答案中涵盖了这种类型的结构,并且新的Firestore文档(在此方面的工作原理与此相似)甚至都有关于它的文档页面。
建议以一种也可以在另一个方向进行此查找的方式存储数据。使用当前的结构,您可以有效地查找组中的用户。为了也允许为用户查找组,请添加以下结构:
{
"usersGroups" : {
"user1key" : {
"group1key" : "admin",
"group2key" : "admin"
},
"user2key" : {
"group2key" : "readonly",
},
"user3key" : {
"group2key" : "readwrite"
}
}
}
如何使用AngularJS正确显示键值对? 这是我的HTML: 以下是JSON数据: 以下是输出: 我想要:
问题内容: 查看实时代码: 角JS 到底如何正确遍历嵌套键值对并正确输出,如下所示? 我要的是一棵像这样的树 当前视图是: JS: HTML: 问题答案: 您非常接近,我更新了小提琴。http://jsfiddle.net/y9wj6/9/
本文向大家介绍如何在SAP中建立表索引?,包括了如何在SAP中建立表索引?的使用技巧和注意事项,需要的朋友参考一下 您需要使用事务SE11。此事务用于在表上创建索引。 在这里要牢记的一件事是将这些索引转移到生产中。您需要使用事务在开发环境中创建索引。创建它们后,您需要将它们传输到生产环境。 进行更改后,激活表格。
问题内容: 这是我正在使用的密集设置的过度简化。并且都具有自动增量代理主键作为ID。是包含有关和的信息的表。 我试图决定,如果我应该做的主键的复合ID的距离和。如果我要这样做,哪一个最有意义? (在此示例中,我将ID 11209与ID 437组合在一起) 11209437 (我可以想象为什么这很糟糕) 11209-437 11209.437 或者是其他东西? 将其用作MYSQL MYISAM DB
问题内容: 我有一个2D整数数组。我希望将它们放入HashMap中。但是我想从基于数组索引的HashMap访问元素。就像是: 对于A [2] [5],它返回与该键关联的值。但是,如何使用一对密钥创建一个hashMap?或者通常是多个键:以一种我可以使用get(key1,key2,… keyN)来访问元素的方式。 编辑:发布问题3年后,我想再添加一点 我遇到了另一种方法。 数组索引,和可被表示为一个
我试图搜索一个JSON对象,并提取下面和的Key/Value对。我想提取和的所有实例: } 我试过好几样都不管用。 这只打印的输出,而不打印值。我想要这个值和钥匙。