Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Firestore DB - documents shown in italics

Tags:

Can someone explain this to me. I am working with node-firestore-backup-restore-master backup script for Firestore from github. Got it working but it only reads one document of the list of documents I have in a collection. The one it reads is in normal text the remaining are in italics and a message for the ones in italics says they don't exist and wont appear in queries.

They do exists and the associated documents and fields that appear when I query from my IOS app but not from the Node.js backup script.

Any thoughts?? Dave

like image 398
David Mrozinski Avatar asked Jan 07 '18 13:01

David Mrozinski


2 Answers

If you create documents with sub-documents and then delete the top level document from an SDK, the delete is not recursive. So while the top-level document is gone, its sub-documents remain.

The document IDs for these are shown as italicized ids in the UI: these documents do not actually exist, but we show them so that you can navigate to the sub collections.

Since there is no document anymore, the document itself will not show up in query results. If you need to find this document in query results, you'll want to create an empty document as a workaround.


If you need to get these non-existing documents through the API, the only way to do so is by performing a collection group query on the subcollection and determining the parent documents from there.

like image 172
Frank van Puffelen Avatar answered Oct 18 '22 08:10

Frank van Puffelen


This happens in two cases:

  1. if you delete documents with subcollections

  2. if you create directly something like "/collection/document(1)/collection/document(2)" instead of creating it in two steps:

    • step 1. create: /collection/document(1)
    • step 2. create: /collection/document(1)/collection/document(2)

And look like if you are in any of these cases you can not list "document(1)" which is a quite strange way of working because they don't exist as "documents" (this is way they are marked in 'italic') but they "exist" as references to subcollections.

like image 42
J. Pablo García Avatar answered Oct 18 '22 07:10

J. Pablo García