查询嵌套对象 firebase

Query nested objects firebase

我正在尝试从我的数据库中获取订单,其中电子邮件 属性(位于买方对象内)等于用户的电子邮件;但是我一直得到一个没有订单的空数组。

const ProfileContainer = () => {
let { user } = useContext(AppContext)

const [orders, setOrders] = useState([])
const [loading, setLoading] = useState(true)

useEffect(() => {
    console.log(orders)
}, [orders])

useEffect(() => {
    const db = getFirestore()
    const ordersRef = query(collection(db, 'orders'), where(('buyer', 'email'), '==', user.email))
    getDocs(ordersRef)
        .then(res => {
            setOrders(res.docs.map((order) => ({ ...order.data() })))
        })
        .finally(() => setLoading(false))
}, [user])

return (
    <>
        {loading ?
            <Spinner />
            :
            <Profile
                orders={orders}
                user={user}

            />
        }
    </>
)
}

这是我的数据库

使用点符号构建嵌套字段的路径。

const ordersRef = query(
    collection(db, 'orders'),
    where('buyer.email', '==', user.email)
)

另见