Javascript 如何使用firestore从基于字段的集合中获取文档?
我正在使用Firestore和React,我有以下情况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`)
我有两个收藏:订单和用户
每个订单都有一个名为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()};
现在代码正在控制台日志中返回值。这可能就是原因