# #javascript #firebase #web #google-cloud-platform #google-cloud-firestore
Вопрос:
Я работаю над проектом посещаемости. Итак, у меня есть вложенные документы и коллекции. Но проблема в том, что:
Firestore не перечисляет документы, в которых нет полей. Структура БД Firebase Отображает в ней только список документов, содержащих поля.
Я делаю это на JavaScript.
db.collection("Attendence").get().then((querySnapshot) => {
querySnapshot.forEach((doc) => {
// doc.data() is never undefined for query doc snapshots
console.log(doc.id, " => ", doc.data());
});
});
Комментарии:
1. Пожалуйста, проясните вашу конкретную проблему или предоставьте дополнительные сведения, чтобы точно указать, что вам нужно. Поскольку это написано в настоящее время, трудно точно сказать, о чем вы просите.
Ответ №1:
Firestore не перечисляет документы, в которых нет полей.
Это ожидаемое поведение. Документы, которые я вижу, выделенные курсивом («CG1», «CSE A1» и «DG2»), на самом деле не являются документами, представленными в коллекции.
Документы, которые присутствуют в коллекции «Посещаемость» и выделены курсивом, означают, что существуют некоторые вложенные коллекции с другими документами, добавленными под этими идентификаторами документов.
Нет запроса, который мог бы вернуть эти документы, поскольку они не существуют. Другими словами, вы просто зарезервировали некоторые идентификаторы для некоторых документов в этой коллекции, а затем создали под ней вложенную коллекцию. Эти типы документов видны в консоли Firebase, поскольку вам может потребоваться перейти в их вложенные коллекции.
Следует помнить одну вещь: в облачном хранилище Firestore документы и вложенные коллекции работают не так, как файлы и каталоги файловой системы. Если вы создаете вложенную коллекцию под документом, она неявно не создает никаких родительских документов. Вложенные коллекции никоим образом не привязаны к родительскому документу.
Комментарии:
1. Не могли бы вы, пожалуйста, подсказать мне, что мне делать сейчас, так как Firestore не перечисляет документы, в которых есть только коллекции.
2. Просто добавьте поле в каждый документ, содержащее одно значение. Таким образом, вы сможете их прочитать.