Javascript 如何使用firestore从基于字段的集合中获取文档?

Javascript 如何使用firestore从基于字段的集合中获取文档?,javascript,reactjs,firebase,google-cloud-firestore,promise,Javascript,Reactjs,Firebase,Google Cloud Firestore,Promise,我正在使用Firestore和React,我有以下情况 我有两个收藏:订单和用户 每个订单都有一个名为userId的字段,在此基础上,我必须检索用户集合中的用户信息 正如我看到的,我有两个承诺:一个是获取订单,然后使用for循环,获取userId,然后再次获取用户信息 所以我必须组合2个对象 在order对象中,我还需要用户详细信息 我试过了,但没用 useEffect(() => { firestore() .collection(`orders`)

我正在使用Firestore和React,我有以下情况
我有两个收藏:订单用户
每个订单都有一个名为userId的字段,在此基础上,我必须检索用户集合中的用户信息
正如我看到的,我有两个承诺:一个是获取订单,然后使用for循环,获取userId,然后再次获取用户信息
所以我必须组合2个对象
在order对象中,我还需要用户详细信息

我试过了,但没用

  useEffect(() => {
    firestore()
      .collection(`orders`)
      .get()
      .then(result => {
        let data = result.docs.map(function(p) {
          return firestore()
            .collection(`users`)
            .doc(p.data().orderId)
            .get()
            .then(function(user) {
    
             
              return {id: user.id,  user.data()};
            });
        });
        Promise.all(data).then(function(values) {
          
          console.log(values);
        
         
        });
      });
  }, []);

我们没有任何关于它为什么不起作用的信息。。。是否有任何错误或只是没有显示任何内容

无论如何,我在测试Firestore中创建了相同的结构,并在nodejs中直接使用了您的代码(useEffect中的所有内容),只发现了一个错误。在最后一次返回中有
语法错误:意外标记。

我已将其更正为:

return {id: user.id,  data: user.data()};

现在代码正在控制台日志中返回值。这可能就是原因。

我们没有任何关于它为什么不起作用的信息。。。是否有任何错误或只是没有显示任何内容

无论如何,我在测试Firestore中创建了相同的结构,并在nodejs中直接使用了您的代码(useEffect中的所有内容),只发现了一个错误。在最后一次返回中有
语法错误:意外标记。

我已将其更正为:

return {id: user.id,  data: user.data()};
现在代码正在控制台日志中返回值。这可能就是原因