我有以下结构:
module_list = ["os"]
def import_module(name):
exec("global {}".format(name), globals())
exec("import {}".format(name), globals())
for item in module_list:
import_module(item)
我想查询用户参与者(如过滤器)的所有事件。 我的Java代码是:
events
-LEe7X118dkcH2JhJRe
description: "Testdescr"
eventTasks
participants
0zlwpSlCazNGjOyMi95h8awshrG2
lastLogin: 1528641494535
userKey: "0zlwpSlCazNGjOyMi95h8awshrG2"
username: "User1"
6LnYKxRu2SWUrxwIzId8dDpOrl02
lastLogin: 152856590172
userKey: "6LnYKxRu2SWUrxwIzId8dDpOrl02"
username: "User2"
这就像一个魅力 - 我只收到正确的事件。
现在我想在服务器端(https://firebase.google.com/docs/database/security/securing-data)创建基于查询的规则。 所以我创建了一个读取规则,如:
mDatabaseReference = FirebaseDatabase.getInstance().getReference("event");
mDatabaseReference.orderByChild("participants/"+userId+"/userKey").equalTo(userId).addChildEventListener [...]
问题:我无法保存该规则。 Firebase给出了错误:"无效==表达式:与排序进行比较时,右操作数必须是排序或字符串文字。"。为什么不能使用" query.orderByChild"与auth.uid结合使用?
我做错了什么?
修改: 以下是我的完整规则:
".read": "query.orderByChild == 'participants/'+auth.uid+'/userKey' && query.equalTo == auth.uid"