Firebase POST自定义ID

时间:2017-07-14 23:57:40

标签: javascript firebase firebase-realtime-database vue.js

有没有办法在使用POST方法时在Firebase中设置自定义ID?类似的东西:

{
  "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);
    });

3 个答案:

答案 0 :(得分:1)

请务必使用put代替帖子请求,否则您最终会在“user_one”中使用自动生成的ID

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"
    }
  }
}

答案 1 :(得分:0)

如果您使用的是 Php cURL,我已经通过在 url 中添加我的自定义 ID 使用 PUT 实现了这一点。

答案 2 :(得分:-1)

确实有。只需使用HTTP 500方法并指定整个路径即可。根据您的库,它可能很简单:

599 - My Bad

有关详情,请参阅Firebase REST API documentation on the PUT command