По умолчанию родительский документ помечается как «удаленный» (курсив) - PullRequest
0 голосов
/ 16 октября 2018

У меня странная проблема, когда наш родительский документ помечается как удаленный.Я вставляю новый документ, подобный этому:

const userDoc = admin.firestore().doc(`/user_bundles/${context.params.userId}/bundles/${chargeRecord.course_id}/media/${chargeRecord.media_type}`);
return userDoc.set(bundleDoc.data(), { merge: true });

Тем не менее, документ «chargeRecord.course_id» помечается как удаленный, что приводит к пустым запросам.

enter image description here

Я столкнулся с другим вопросом и ответом, в котором объяснялось, что это может произойти при удалении вложенной коллекции.Но, чтобы быть ясным, мы не удалили этот документ.Он был недавно создан для пользователя.

1 Ответ

0 голосов
/ 16 октября 2018

Документы и вложенные коллекции не работают как файлы и каталоги файловой системы.

Создание вложенной коллекции, организованной под идентификатором документа, не создает никаких родительских документов.Подколлекции никак не связаны с родительским документом, кроме как через организацию, которую вы навязываете.Совершенно верно организовать подколлекцию под идентификатором документа, который не существует.

Идентификаторы документов, показанные курсивом, не обязательно «удаляются».Они показаны таким образом, потому что их не существует, и, возможно, никогда не существовало - вы не можете заметить разницу.

Если вы хотите, чтобы какой-либо документ существовал, вы должны написать некоторый код для его создания и датьэто несколько полей.Если вы никогда явно не создаете документ, он никогда не существует.

Если вы удаляете документ, его подколлекции все еще существуют.

...