@@ -3,19 +3,18 @@ import firebase from "./firebase";
3
3
4
4
export default ( ) => {
5
5
const [ sampleData , setSampleData ] = useState ( "{}" ) ;
6
- const [ inputContains , setInputContains ] = useState ( "A " ) ;
7
- const [ inputContainsAny , setInputContainsAny ] = useState ( "A,B " ) ;
8
- const [ inputWhereIn , setInputWhereIn ] = useState ( "andC,andB " ) ;
6
+ const [ inputContains , setInputContains ] = useState ( "game " ) ;
7
+ const [ inputContainsAny , setInputContainsAny ] = useState ( "game,tech " ) ;
8
+ const [ inputWhereIn , setInputWhereIn ] = useState ( "tweet,podcast " ) ;
9
9
const [ resultContains , setResultContains ] = useState ( "" ) ;
10
10
const [ resultContainsAny , setResultContainsAny ] = useState ( "" ) ;
11
11
const [ resultWhereIn , setResultWhereIn ] = useState ( "" ) ;
12
+ const collectionRef = firebase . firestore ( ) . collection ( "blogs" ) ;
12
13
13
14
const onArrayContain = async ( ) => {
14
15
setResultContains ( "Loading..." ) ;
15
- const hitData = await firebase
16
- . firestore ( )
17
- . collection ( "test" )
18
- . where ( "array" , "array-contains" , inputContains )
16
+ const hitData = await collectionRef
17
+ . where ( "tags" , "array-contains" , inputContains )
19
18
. get ( )
20
19
. then ( res => res . docs . map ( doc => doc . id ) ) ;
21
20
console . log ( hitData ) ;
@@ -26,10 +25,8 @@ export default () => {
26
25
setResultContainsAny ( "Loading..." ) ;
27
26
const where = inputContainsAny . split ( "," ) ;
28
27
console . log ( "array-contains-any" , where ) ;
29
- const hitData = await firebase
30
- . firestore ( )
31
- . collection ( "test" )
32
- . where ( "array" , "array-contains-any" , where )
28
+ const hitData = await collectionRef
29
+ . where ( "tags" , "array-contains-any" , where )
33
30
. get ( )
34
31
. then ( res => res . docs . map ( doc => doc . id ) ) ;
35
32
console . log ( hitData ) ;
@@ -40,10 +37,8 @@ export default () => {
40
37
setResultWhereIn ( "Loading..." ) ;
41
38
const where = inputWhereIn . split ( "," ) ;
42
39
console . log ( "in" , where ) ;
43
- const hitData = await firebase
44
- . firestore ( )
45
- . collection ( "test" )
46
- . where ( "name" , "in" , where )
40
+ const hitData = await collectionRef
41
+ . where ( "type" , "in" , where )
47
42
. get ( )
48
43
. then ( res => res . docs . map ( doc => doc . id ) ) ;
49
44
console . log ( hitData ) ;
@@ -52,17 +47,15 @@ export default () => {
52
47
53
48
const fetchSampleData = async ( ) => {
54
49
const tmpSampleData = { } ;
55
- await firebase
56
- . firestore ( )
57
- . collection ( "test" )
50
+ await collectionRef
58
51
. get ( )
59
52
. then ( res => res . docs . map ( doc => ( tmpSampleData [ doc . id ] = doc . data ( ) ) ) ) ;
60
53
setSampleData ( JSON . stringify ( tmpSampleData , null , 2 ) ) ;
61
54
} ;
62
55
63
56
useEffect ( ( ) => {
64
57
fetchSampleData ( ) ;
65
- } , [ ] ) ;
58
+ } ) ;
66
59
67
60
return (
68
61
< div className = "section is-space py-6" >
@@ -83,8 +76,8 @@ export default () => {
83
76
< h1 className = "heading is-xl is-strong mb-3" > Queries</ h1 >
84
77
< div className = "mb-6" >
85
78
< h1 className = "heading is-md is-strong mb-3" > Array Contains</ h1 >
86
- < p class = "" >
87
- firebase.firestore().collection("test ").where("array ",
79
+ < p >
80
+ firebase.firestore().collection("blogs ").where("tags ",
88
81
"array-contains", "{ inputContains } ")
89
82
</ p >
90
83
< input
@@ -113,7 +106,7 @@ export default () => {
113
106
< div className = "mb-6" >
114
107
< h1 className = "heading is-md is-strong mb-3" > Array Contain Any</ h1 >
115
108
< p >
116
- firebase.firestore().collection("test ").where("array ",
109
+ firebase.firestore().collection("blogs ").where("tags ",
117
110
"array-contains-any", [
118
111
{ inputContainsAny
119
112
. split ( "," )
@@ -146,7 +139,7 @@ export default () => {
146
139
< div className = "mb-6" >
147
140
< h1 className = "heading is-md is-strong mb-3" > WhereIn</ h1 >
148
141
< p >
149
- firebase.firestore().collection("test ").where("name ", "in", [
142
+ firebase.firestore().collection("blogs ").where("type ", "in", [
150
143
{ inputWhereIn
151
144
. split ( "," )
152
145
. map ( t => `"${ t } "` )
0 commit comments