รหัสที่กำหนดเองของ Firebase POST

มีวิธีการตั้งค่า ID ที่กำหนดเองใน Firebase เมื่อใช้วิธีการ POST หรือไม่ สิ่งที่ต้องการ:

{
  "users": {
    "user_one": {
      "username": "jdoe",
      "password": "123"
    }
  }
}

ฉันกำลังทำโปรเจ็กต์ Vue.js และพยายามช่วยเหลือนักเรียนและผู้ปกครองบางคนเช่น:

let padre = {
  nombre: this.padre.nombre,
  apellido: this.padre.apellido,
  cedula: this.padre.cedula,
  nacionalidad: this.padre.nacionalidad,
  estado_civil: this.padre.estado_civil,
  instruccion: this.padre.instruccion,
  profesion: this.padre.profesion,
  trabaja: this.padre.trabaja,
  l_trabajo: this.padre.l_trabajo,
  d_trabajo: this.padre.d_trabajo,
  tlf_trabajo: this.padre.tlf_trabajo,
  tlf_habitacion: this.padre.tlf_habitacion,
  tlf_movil: this.padre.tlf_movil
}

  axios.post('https://projectname.firebaseio.com/padres.json', padre)
    .then(function (response) {
      console.log(response);
    })
    .catch(function (error) {
      console.log(error);
    });

person Gustavo Ordaz    schedule 14.07.2017    source แหล่งที่มา


คำตอบ (3)


ตรวจสอบให้แน่ใจว่าใช้การวางแทนคำขอโพสต์ ไม่เช่นนั้นคุณจะพบรหัสที่สร้างขึ้นอัตโนมัติภายใน "user_one" ของคุณ

POST จะให้:

{
  "users": {
    "user_one": {
      "134134hnj34nuj134bn": {
        "username": "jdoe",
        "password": "123"
      }
    }
  }
}

axios.put('https://projectname.firebaseio.com/padres/user_one.json', padre)

PUT จะให้สิ่งที่คุณต้องการ

{
  "users": {
    "user_one": {
      "username": "jdoe",
      "password": "123"
    }
  }
}
person Bram G    schedule 01.05.2018
comment
จะไม่ใช้ PUT แทน POST เขียนทับข้อมูลใช่ไหม - person YAMAN; 12.08.2018

มีแน่นอน. เพียงใช้วิธี HTTP PUT และระบุเส้นทางทั้งหมด ขึ้นอยู่กับห้องสมุดของคุณ มันอาจจะง่ายเพียง:

axios.post('https://projectname.firebaseio.com/padres/user_one.json', padre)

สำหรับข้อมูลเพิ่มเติม โปรดดูเอกสาร Firebase REST API ในคำสั่ง PUT< /ก>.

person Frank van Puffelen    schedule 15.07.2017

หากคุณใช้ Php cURL ฉันทำสิ่งนี้สำเร็จด้วย PUT โดยการเพิ่ม ID ที่กำหนดเองของฉันใน url

person Chirag Joshi    schedule 17.03.2021