Reactjs 带有react firebase挂钩/firestore的订购人不工作

Reactjs 带有react firebase挂钩/firestore的订购人不工作,reactjs,firebase,google-cloud-firestore,Reactjs,Firebase,Google Cloud Firestore,我正在使用react firebase hooks/firestore 我有: const [documents, documentsLoading, documentsError]: [DocumentInterface[], boolean, Error] = useCollectionDataOnce( firebase.firestore().collection('documents') .where('userId', '==', firebase.auth(

我正在使用
react firebase hooks/firestore

我有:

  const [documents, documentsLoading, documentsError]: [DocumentInterface[], boolean, Error] = useCollectionDataOnce(
    firebase.firestore().collection('documents')
      .where('userId', '==', firebase.auth()?.currentUser?.uid || null)
      .orderBy('updatedAt')
    ,
    { idField: 'id' }
  )

它不会返回任何结果。如果我删除了
.orderBy('updatedAt')
,那么我就得到了结果。为什么会这样?

此查询需要一个复合索引。如果您检查控制台,错误将包括一个链接,该链接将自动为您创建控制台。

此查询需要一个复合索引。如果您检查控制台,则错误将包括一个链接,该链接将自动为您创建索引。

控制台中的错误是否表示您必须创建索引?啊哈-有。谢谢但这似乎很奇怪,我需要一个where和orderBy的复合索引,不是吗?是的,我以前从未使用过react-firebase钩子,所以我不确定它们是否对您传入的firestore引用有任何魔力。综合指数要求你做什么?这可能是正在发生的事情的指示器。例如,idField变量做什么?调用此useCollectionDataOnce查询后,它是否会添加一个.where(idField,'='',id)?如果是这样,这就是为什么它需要一个单独的索引。如果综合指数显示情况如此,我将回答您可以接受的问题!控制台中的错误是否表示您必须创建索引?啊啊啊-就是这样。谢谢但这似乎很奇怪,我需要一个where和orderBy的复合索引,不是吗?是的,我以前从未使用过react-firebase钩子,所以我不确定它们是否对您传入的firestore引用有任何魔力。综合指数要求你做什么?这可能是正在发生的事情的指示器。例如,idField变量做什么?调用此useCollectionDataOnce查询后,它是否会添加一个.where(idField,'='',id)?如果是这样,这就是为什么它需要一个单独的索引。如果综合指数显示情况如此,我将回答您可以接受的问题!