【问题标题】:I'm unable to add data into a Firestore collection named 'users'我无法将数据添加到名为“用户”的 Firestore 集合中
【发布时间】:2022-06-11 08:07:07
【问题描述】:

我无法将数据添加到名为“用户”的 Firestore 集合中。我在控制台中没有收到任何错误,但输入值没有被输入到 Firestore 集合中。 这是我的SignupView 组件,输入数据将被添加到 Firestore 集合中。

<template>
    <div class="container">
        <br>
        <br>
        <form @submit.prevent="registerUser">
  <div class="mb-3">
    <label for="exampleInputEmail1" class="form-label">Name</label>
    <input type="text" class="form-control" aria-describedby="emailHelp" v-model="user.name">
  </div>
  <div class="mb-3">
    <label for="exampleInputEmail1" class="form-label">Email address</label>
    <input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp" v-model="user.email">
  </div>
  <div class="mb-3">
    <label for="exampleInputPassword1" class="form-label">Password</label>
    <input type="password" class="form-control" id="exampleInputPassword1" v-model="user.password">
  </div>
  <p v-if="errMsg"> {{ errMsg}} </p>
  <button type="submit" class="btn btn-primary">Submit</button>
</form>
    </div>
</template>


<script>

//import { Firestore } from '@firebase/firestore';
import {getAuth, createUserWithEmailAndPassword } from 'firebase/auth'
import router from "../router"
import { dbItemAdd } from "../Firebase";
//import firebase from'firebase/firestore'
export default {
    name:'SignupView',
    data(){
      return{
      user:{
        name:'',
        email:'',
        password:'',
        uid:''
      },
       errMsg: ''
      //ref:firebase.firestore().collection('users')
      }
    },
    methods: {
      registerUser(){
        const auth = getAuth();
        createUserWithEmailAndPassword(auth, this.user.email, this.user.password).then((datauser)=>{
         dbItemAdd.add({
          name: this.user.name,
          email: this.user.email,
          uid: datauser.user.uid,
        })
          router.push({
            name:'home'
          })
        }).catch((error) => {
        console.log(error.code)
        switch (error.code) {
          case "auth/invalid-email":
            this.errMsg = "Invalid email";
            break;
          case "auth/weak-password":
            this.errMsg = "weak password";
            break;
          case "auth/email-already-in-use":
            this.errMsg = "email already in use";
            break;
        }
      })

      }
    },
}
</script>

这是我的 Firebase 初始化的 Firebase.js 文件。

import { initializeApp } from "firebase/app";
import { getAnalytics } from "firebase/analytics";
import {firebase} from "firebase/firestore"; // Your web app's Firebase configuration
//import firestore from "firebase/compat"
// Add the Firebase services that you want to use
import "firebase/auth";
import "firebase/firestore";

var firebaseConfig = {
  apiKey: "AIzaSyDip-bxxBA459wQ6Nx0vAp_vFrEmlWOACk",
  authDomain: "mystore-3f6bf.firebaseapp.com",
  projectId: "mystore-3f6bf",
  storageBucket: "mystore-3f6bf.appspot.com",
  messagingSenderId: "139527527392",
  appId: "1:139527527392:web:3de39212b280729c846985",
  measurementId: "G-7S411KB5ZK"
};

// Initialize Firebase
const app = initializeApp(firebaseConfig);
const analytics = getAnalytics(app);

// const timestamp = firebase.firestore.FieldValue.serverTimestamp;

// const fb = firebase;
const dbItemAdd = firebase.firestore().collection("users");
export { dbItemAdd };

export default { app, analytics};

【问题讨论】:

  • 您没有检查数据库操作的错误。他们可能会失败,而你永远不会知道。 add 返回一个承诺。
  • 请问我不能添加收藏怎么办
  • 错误消息:
  • 编译时出现问题:./src/Firebase.js 中的 X 错误 3:0-32 未找到模块:错误:包路径。未从包 /home/dataxplorer/projectvuejs/node_modules/firebase 导出(请参阅 /home/dataxplorer/projectvuejs/node_modules/firebase/package.json 中的导出字段)

标签: javascript firebase vue.js google-cloud-firestore


猜你喜欢
  • 2021-11-30
  • 2021-02-16
  • 1970-01-01
  • 2021-10-17
  • 2020-09-12
  • 1970-01-01
  • 2021-02-14
  • 2021-12-21
  • 1970-01-01
相关资源
最近更新 更多