Firestore не перечисляет документы, в которых нет полей, а вместо этого есть вложенные коллекции

# #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. Просто добавьте поле в каждый документ, содержащее одно значение. Таким образом, вы сможете их прочитать.