Запрос вложенных объектов firebase

Я пытаюсь получить заказы из моей базы данных, где свойство электронной почты (которое находится внутри объекта покупателя) равно электронной почте пользователя; но я продолжаю получать пустой массив без заказов.

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

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

useEffect(() => {
    console.info(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}

            />
        }
    </>
)
}

Это моя БД Запрос вложенных объектов firebase

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
28
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Используйте запись через точку, чтобы построить путь к полю гнезда.

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

Смотрите также

Спасибо за Ваш ответ! Я пробовал это, но теперь отображается эта ошибка: «Неперехваченная ошибка: объекты недействительны в качестве дочернего элемента React (найдено: объект с ключами {секунды, наносекунды}). Если вы хотели отобразить коллекцию дочерних элементов, используйте вместо этого массив ."

Manuel Nelson 06.05.2022 17:23

Если у вас возникла новая проблема, напишите новый пост, чтобы объяснить, что работает не так, как вы ожидаете.

Doug Stevenson 06.05.2022 17:35

Другие вопросы по теме

Похожие вопросы

Функция, которая проверяет, находится ли React PWA в сети, никогда не возвращает false
Как изменить поведение HTMX, чтобы заменить полную веб-страницу, если форма недействительна
React не позволит мне использовать ReactDOM.render(), потому что это не функция?
Как преобразовать массив индексированных объектов в простой объект
Как я могу отсортировать неупорядоченный список кнопок по алфавиту без изменения внешнего вида?
Сценарий приложения Google Sheet: сопоставьте значения 1 с одного листа на другой лист, а затем, если условие выполнено, установите фон
Нужна помощь в создании функции, которая принимает int N и создает массив из N элементов. Каждый элемент должен быть половиной предыдущего элемента, начиная с 1
Массив массивов в JavaScript. Замена для querySnapshot.forEach
Как сделать собственный узор из выделения в Photoshop?
Как получить ввод текста с помощью Sweet Alert [решено]