1
1
<script setup lang="ts">
2
- import { doc , getDoc } from ' firebase/firestore'
2
+ import {
3
+ GeoPoint ,
4
+ doc ,
5
+ getDoc ,
6
+ serverTimestamp ,
7
+ setDoc ,
8
+ } from ' firebase/firestore'
3
9
import { useDocument , useFirestore , usePendingPromises } from ' vuefire'
4
10
import { ref } from ' vue'
5
11
12
+ async function setupNestedDocument() {
13
+ const configDoc = await getDoc (configRef )
14
+ if (configDoc .exists ()) {
15
+ return
16
+ }
17
+
18
+ for (let i = 0 ; i < 3 ; i ++ ) {
19
+ await setDoc (doc (db , ' todos' , String (i )), {
20
+ text: ' Todo ' + i ,
21
+ finished: false ,
22
+ created: serverTimestamp (),
23
+ })
24
+ await setDoc (doc (db , ' tweets' , String (i )), {
25
+ text: ' Tweet ' + i ,
26
+ created: serverTimestamp (),
27
+ })
28
+ }
29
+
30
+ await setDoc (configRef , {
31
+ amount: 28 ,
32
+ name: ' Eduardo' ,
33
+ array: [' one' , ' two' ],
34
+ object: {
35
+ bar: ' baro' ,
36
+ foo: ' foo' ,
37
+ todo: doc (db , ' todos' , ' 1' ),
38
+ },
39
+ oneTweet: doc (db , ' tweets' , ' 1' ),
40
+ time: serverTimestamp (),
41
+ loc: new GeoPoint (48.8566 , 2.3522 ),
42
+
43
+ todos: [doc (db , ' todos' , ' 1' ), doc (db , ' todos' , ' 2' )],
44
+ tweets: [doc (db , ' tweets' , ' 1' ), doc (db , ' tweets' , ' 2' )],
45
+ })
46
+ }
47
+
6
48
const db = useFirestore ()
7
49
const configRef = doc (db , ' configs' , ' jORwjIykFo2NmkdzTkhU' )
8
50
// const itemRef = doc(db, 'tests', 'item')
@@ -27,22 +69,22 @@ onMounted(() => {
27
69
isAllDoneFetching .value = true
28
70
})
29
71
})
72
+
73
+ setupNestedDocument ()
30
74
</script >
31
75
32
76
<template >
33
77
<div >
34
78
<p >config:</p >
35
79
<p >finished: {{ isDoneFetching }}</p >
36
80
<p >All finished: {{ isAllDoneFetching }}</p >
37
- <p >
38
- Revive check:
39
- </p >
81
+ <p >Revive check:</p >
40
82
<ul >
41
83
<li >TimeStamp: {{ config?.time }}</li >
42
84
<li >GeoPoint: {{ config?.loc }}</li >
43
85
</ul >
44
86
45
- <hr >
87
+ <hr / >
46
88
47
89
<pre >{{ config }}</pre >
48
90
</div >
0 commit comments