查询嵌套对象 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)
)
另见
我正在尝试从我的数据库中获取订单,其中电子邮件 属性(位于买方对象内)等于用户的电子邮件;但是我一直得到一个没有订单的空数组。
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)
)
另见