Class CollectionReference (7.11.0)

A CollectionReference object can be used for adding documents, getting document references, and querying for documents (using the methods inherited from [Query] Query ).

CollectionReference Query

Inheritance

Query <AppModelType, DbModelType> > CollectionReference

Package

@google-cloud/firestore

Constructors

(constructor)(firestore, path, converter)

  constructor 
 ( 
 firestore 
 : 
  
 Firestore 
 , 
  
 path 
 : 
  
 ResourcePath 
 , 
  
 converter 
 ?: 
  
 firestore 
 . 
 FirestoreDataConverter<AppModelType 
 , 
  
 DbModelType 
> ); 
 

Constructs a new instance of the CollectionReference class

Parameters
Name
Description
firestore
Firestore

The Firestore Database client.

path
ResourcePath

The Path of this collection.

converter
FirebaseFirestore.FirestoreDataConverter <AppModelType, DbModelType>

Properties

id

  get 
  
 id 
 () 
 : 
  
 string 
 ; 
 

The last path element of the referenced collection.

{string} CollectionReference#id

Example
  let 
  
 collectionRef 
  
 = 
  
 firestore 
 . 
 collection 
 ( 
 'col/doc/subcollection' 
 ); 
 console 
 . 
 log 
 ( 
 `ID of the subcollection: 
 ${ 
 collectionRef 
 . 
 id 
 } 
 ` 
 ); 
 

parent

  get 
  
 parent 
 () 
 : 
  
 DocumentReference 
  
 | 
  
 null 
 ; 
 

A reference to the containing Document if this is a subcollection, else null.

{DocumentReference|null} CollectionReference#parent

Example
  let 
  
 collectionRef 
  
 = 
  
 firestore 
 . 
 collection 
 ( 
 'col/doc/subcollection' 
 ); 
 let 
  
 documentRef 
  
 = 
  
 collectionRef 
 . 
 parent 
 ; 
 console 
 . 
 log 
 ( 
 `Parent name: 
 ${ 
 documentRef 
 . 
 path 
 } 
 ` 
 ); 
 

path

  get 
  
 path 
 () 
 : 
  
 string 
 ; 
 

A string representing the path of the referenced collection (relative to the root of the database).

{string} CollectionReference#path

Example
  let 
  
 collectionRef 
  
 = 
  
 firestore 
 . 
 collection 
 ( 
 'col/doc/subcollection' 
 ); 
 console 
 . 
 log 
 ( 
 `Path of the subcollection: 
 ${ 
 collectionRef 
 . 
 path 
 } 
 ` 
 ); 
 

Methods

add(data)

  add 
 ( 
 data 
 : 
  
 firestore 
 . 
 WithFieldValue<AppModelType> 
 ) 
 : 
  
 Promise<DocumentReference<AppModelType 
 , 
  
 DbModelType 
>> ; 
 

Add a new document to this collection with the specified data, assigning it a document ID automatically.

Parameter
Name
Description
data
FirebaseFirestore.WithFieldValue <AppModelType>

An Object containing the data for the new document.

Returns
Type
Description
Promise < DocumentReference <AppModelType, DbModelType>>

{Promise.

Example
  let 
  
 collectionRef 
  
 = 
  
 firestore 
 . 
 collection 
 ( 
 'col' 
 ); 
 collectionRef 
 . 
 add 
 ({ 
 foo 
 : 
  
 'bar' 
 }). 
 then 
 ( 
 documentReference 
  
 = 
>  
 { 
  
 console 
 . 
 log 
 ( 
 `Added document with name: 
 ${ 
 documentReference 
 . 
 id 
 } 
 ` 
 ); 
 }); 
 

doc()

  doc 
 () 
 : 
  
 DocumentReference<AppModelType 
 , 
  
 DbModelType 
> ; 
 
Returns
Type
Description
DocumentReference <AppModelType, DbModelType>

doc(documentPath)

  doc 
 ( 
 documentPath 
 : 
  
 string 
 ) 
 : 
  
 DocumentReference<AppModelType 
 , 
  
 DbModelType 
> ; 
 
Parameter
Name
Description
documentPath
string
Returns
Type
Description
DocumentReference <AppModelType, DbModelType>

isEqual(other)

  isEqual 
 ( 
 other 
 : 
  
 firestore 
 . 
 CollectionReference<AppModelType 
 , 
  
 DbModelType 
> ) 
 : 
  
 boolean 
 ; 
 

Returns true if this CollectionReference is equal to the provided value.

Parameter
Name
Description
other
FirebaseFirestore.CollectionReference <AppModelType, DbModelType>

The value to compare against. {boolean} true if this CollectionReference is equal to the provided value.

Returns
Type
Description
boolean

listDocuments()

  listDocuments 
 () 
 : 
  
 Promise<Array<DocumentReference<AppModelType 
 , 
  
 DbModelType 
>>> ; 
 

Retrieves the list of documents in this collection.

The document references returned may include references to "missing documents", i.e. document locations that have no document present but which contain subcollections with documents. Attempting to read such a document reference (e.g. via .get() or .onSnapshot() ) will return a DocumentSnapshot whose .exists property is false.

{Promise<DocumentReference[]>} The list of documents in this collection.

Returns
Type
Description
Promise < Array < DocumentReference <AppModelType, DbModelType>>>
Example
  let 
  
 collectionRef 
  
 = 
  
 firestore 
 . 
 collection 
 ( 
 'col' 
 ); 
 return 
  
 collectionRef 
 . 
 listDocuments 
 (). 
 then 
 ( 
 documentRefs 
  
 = 
>  
 { 
  
 return 
  
 firestore 
 . 
 getAll 
 (... 
 documentRefs 
 ); 
 }). 
 then 
 ( 
 documentSnapshots 
  
 = 
>  
 { 
  
 for 
  
 ( 
 let 
  
 documentSnapshot 
  
 of 
  
 documentSnapshots 
 ) 
  
 { 
  
 if 
  
 ( 
 documentSnapshot 
 . 
 exists 
 ) 
  
 { 
  
 console 
 . 
 log 
 ( 
 `Found document with data: 
 ${ 
 documentSnapshot 
 . 
 id 
 } 
 ` 
 ); 
  
 } 
  
 else 
  
 { 
  
 console 
 . 
 log 
 ( 
 `Found missing document: 
 ${ 
 documentSnapshot 
 . 
 id 
 } 
 ` 
 ); 
  
 } 
  
 } 
 }); 
 

withConverter(converter)

  withConverter 
 ( 
 converter 
 : 
  
 null 
 ) 
 : 
  
 CollectionReference 
 ; 
 
Parameter
Name
Description
converter
null
Returns
Type
Description

withConverter(converter)

  withConverter<NewAppModelType 
 , 
  
 NewDbModelType 
  
 extends 
  
 firestore 
 . 
 DocumentData 
  
 = 
  
 firestore 
 . 
 DocumentData 
> ( 
 converter 
 : 
  
 firestore 
 . 
 FirestoreDataConverter<NewAppModelType 
 , 
  
 NewDbModelType 
> ) 
 : 
  
 CollectionReference<NewAppModelType 
 , 
  
 NewDbModelType 
> ; 
 
Parameter
Name
Description
converter
FirebaseFirestore.FirestoreDataConverter <NewAppModelType, NewDbModelType>
Returns
Type
Description
CollectionReference <NewAppModelType, NewDbModelType>
Type Parameters
Name
Description
NewAppModelType
NewDbModelType
Design a Mobile Site
View Site in Mobile | Classic
Share by: