Skip to content
This repository was archived by the owner on Apr 4, 2023. It is now read-only.

Commit 9759c2d

Browse files
#559 Firestore nested collections
1 parent cfede04 commit 9759c2d

File tree

4 files changed

+21
-2
lines changed

4 files changed

+21
-2
lines changed

demo-ng/app/item/items.component.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
<Button text="Set (auto id)" (tap)="firestoreSetByAutoID()" class="button"></Button>
1818
<Button text="Update" (tap)="firestoreUpdate()" class="button"></Button>
1919
<Button text="Get" (tap)="firestoreGet()" class="button"></Button>
20+
<Button text="Get nested" (tap)="firestoreGetNested()" class="button"></Button>
2021
<Button text="Listen to changes in SF" (tap)="firestoreListen()" class="button"></Button>
2122
<Button text="Stop listening" (tap)="firestoreStopListening()" class="button"></Button>
2223
<Button text="Where" (tap)="firestoreWhere()" class="button"></Button>

demo-ng/app/item/items.component.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { Component, OnInit } from "@angular/core";
22
import { firestore } from "nativescript-plugin-firebase";
33
const firebase = require("nativescript-plugin-firebase/app");
44
const firebaseWebApi = require("nativescript-plugin-firebase/app");
5+
// import { AngularFireModule } from 'angularfire2';
56

67
@Component({
78
selector: "ns-items",
@@ -13,6 +14,7 @@ export class ItemsComponent implements OnInit {
1314
private listenerUnsubscribe: () => void;
1415

1516
constructor() {
17+
// AngularFireModule.initializeApp({});
1618
}
1719

1820
ngOnInit(): void {
@@ -138,6 +140,22 @@ export class ItemsComponent implements OnInit {
138140
});
139141
}
140142

143+
public firestoreGetNested(): void {
144+
const streetsColRef: firestore.CollectionReference =
145+
firebase.firestore()
146+
.collection("cities")
147+
.doc("SF")
148+
.collection("streets");
149+
150+
streetsColRef.get().then((querySnapshot: firestore.QuerySnapshot) => {
151+
querySnapshot.forEach(doc => {
152+
console.log(`${doc.id} => ${JSON.stringify(doc.data())}`);
153+
});
154+
}).catch(function (error) {
155+
console.log("Error getting document:", error);
156+
});
157+
}
158+
141159
public firestoreListen(): void {
142160
if (this.listenerUnsubscribe !== undefined) {
143161
console.log("Already listening ;)");

src/firebase.android.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2249,7 +2249,7 @@ firebase.firestore.doc = (collectionPath: string, documentPath?: string): firest
22492249

22502250
return {
22512251
id: docRef.getId(),
2252-
collection: cp => firebase.firestore.collection(cp),
2252+
collection: cp => firebase.firestore.collection(`${collectionPath}/${documentPath}/${cp}`),
22532253
set: (data: any, options?: firestore.SetOptions) => firebase.firestore.set(collectionPath, docRef.getId(), data, options),
22542254
get: () => firebase.firestore.getDocument(collectionPath, docRef.getId()),
22552255
update: (data: any) => firebase.firestore.update(collectionPath, docRef.getId(), data),

src/firebase.ios.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2262,7 +2262,7 @@ firebase.firestore.doc = (collectionPath: string, documentPath?: string): firest
22622262

22632263
return {
22642264
id: fIRDocumentReference.documentID,
2265-
collection: cp => firebase.firestore.collection(cp),
2265+
collection: cp => firebase.firestore.collection(`${collectionPath}/${documentPath}/${cp}`),
22662266
set: (data: any, options?: firestore.SetOptions) => firebase.firestore.set(collectionPath, fIRDocumentReference.documentID, data, options),
22672267
get: () => firebase.firestore.getDocument(collectionPath, fIRDocumentReference.documentID),
22682268
update: (data: any) => firebase.firestore.update(collectionPath, fIRDocumentReference.documentID, data),

0 commit comments

Comments
 (0)