FirebaseError:函数Query.where()需要有效的第三个参数,但未定义

时间:2019-03-11 01:16:37

标签: javascript reactjs firebase google-cloud-firestore

this.unsubscribe = this.refAssign.where(‘email’, ‘==’, this.state.user.email ).onSnapshot(this.onCollectionUpdate);

  

FirebaseError:函数Query.where()需要一个有效的第三个参数,   但这是不确定的。

我收到此消息。我应该为第三个参数写什么,因为我希望它返回与“分配”集合中的电子邮件相同的每个“用户”?

2 个答案:

答案 0 :(得分:0)

经过多次尝试和错误后,我发现无法使用“ where”子句来做到这一点

`componentDidMount() {
    this.unsubscribe1 = this.ref.onSnapshot(this.onCollectionUpdate1);
    this.unsubscribe2 = this.refAssign.where(‘email’, ‘==’, this.state.user.email ).onSnapshot(this.onCollectionUpdate2);
}`

相反,我使用condition ? true : false

在渲染中对其进行了比较
                        {this.state.user.map(user =>
                          <tr>
                            <td><Link to={`/show/${user.key}`}>{user.email}</Link></td>
                            <td>{user.name}</td>
                            <td>{user.authority}</td>
                            <td>
                            {this.state.assign.map(assign =>
                                <p>{assign.email == user.email ? assign.projNo : null }</p>
                            )}
                            </td>
                          </tr>
                        )}

答案 1 :(得分:0)

//创建一个针对集合的查询。 var query = cityRef.where(“ state”,“ ==”,“ CA”);

确保电子邮件不为空或为空