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
Package
@google-cloud/firestoreConstructors
(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
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
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
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.
|
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 |
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>>> |
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 |
CollectionReference |
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 |