我已经声明了全局变量,并在应用程序的initState()
函数中对其进行了定义。
但是稍后在Cloud Firestore查询的Where子句中使用该变量时,该查询将不起作用:
.where("email", isEqualTo: _userEmail.toString())
相反,查询与引号一起使用时有效:
.where("email", isEqualTo: "myemail@xyz.com")
Firestore.instance.collection('Matrimonial').where("email", isEqualTo: _userEmail.toString()).getDocuments();
不起作用
Firestore.instance.collection('Matrimonial').where("email", isEqualTo: "myemail@xyz.com").getDocuments();
工作
答案 0 :(得分:1)
我找到了一种通过使用vuefire在where子句中使用变量参数的方法:
watch: {
userProfile () {
this.$bind('allUsers', this.$db.collection('users').where('institution', '==', this.userProfile.institution))
}
}
在这种情况下,由于不同的管理员登录并成为currentUser,因此他们只能看到其机构中的所有用户。
答案 1 :(得分:0)
迟来了,但我正在搜索或对此问题的答案,并使用字符串插值对我有用:
Firestore.instance.collection('Matrimonial').where("email", isEqualTo: `${_userEmail.toString()}`).getDocuments();