我有这个结构
comments:
- FG1MaPfTFsdgdsgsruL9Cgx5sY2
+ content
+ value: "My comment"
+ creator: "0U1MaPfTF2fwcgqWuruL9Cgx5sY2"
+ date_create: "2015-02-21T12:40:35Z"
+ users[]
+ CByXgSgB4khZ5LgugXGRdfK7CLk2
+ XakJ8zn711bUeSpCK1ss7Fsz7JX2
+ relations[]
+ HTyXgSgB4khZ5LgugXGRdfK7CLk2
+ CakJ8zn711bUeSpCK1ss7Fsz7JX2
+ settings[]
+ duration: 2
如何在应用程序中侦听适当的查询,以便当user UID
出现在users[]
中时,它将立即收到一条消息。
另一个过滤器将是duration
中的时间
答案 0 :(得分:1)
首先获取用户uid:
var user = firebase.auth().currentUser;
var uid;
if (user != null) {
uid = user.uid;
let database = firebase.database();
let userRef = database.ref("users").orderByKey().equalTo(uid);
userRef.on('value', ((snapshot) => {
if(snapshot.exists()){
console.log(snapshot.val());
}
});
}
尝试上述操作,首先检索uid
,然后添加对节点users
的引用,然后使用orderByKey()
在uid
上进行查询,然后使用{{1 }},您可以检查它是否存在于数据库中。