前提・実現したいこと
Vue.jsでfirebaseのログイン機能を実装しています。
- Authで新規ユーザとしてsignUpする
- Databaseの'users'というcollectionに、Auto-IDではなく、Authで得られたUser UIDを使ってその情報を追加したい
発生している問題・エラーメッセージ
funstionじゃないよと怒られてしまいました。
TypeError: db.collection(...).doc(...).add is not a function
該当のソースコード
javaScript
1 registerUser () { 2 firebase.auth().createUserWithEmailAndPassword(this.email, this.password) 3 .then((user) => { 4 firebase.firestore().collection('users').doc(user.user.uid).add({ 5 name: '', 6 img: '', 7 uid: user.user.uid, 8 email: this.email, 9 bookmarks: [], 10 likedPost: [] 11 }).then(() => { 12 console.log('success to create newUser.'); 13 }).catch((error) => { 14 console.log(`error: ${error}`); 15 }) 16 }) 17 .catch((error) => { 18 console.log(error); 19 this.isError = true; 20 this.errorMessage = error.message; 21 this.errorCode = error.code; 22 }); 23 }
試したこと
user.user.uidの中にAuthから取得したUser UIDは格納できていますが、collectionにaddできないので困っています。
firebaseは使ったことないし、何をしたいのかもよく分かりませんが、
https://firebase.google.com/docs/reference/js/firebase.firestore.CollectionReference#add
これを使いたいなら、
firebase.firestore().collection('users').add(...
ではないですか?