Javascript firebase:如何获取对象节点的引用键

Javascript firebase:如何获取对象节点的引用键,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,这是我不知道如何为我刚刚在服务器上创建的对象获取密钥的部分?我厌倦了下面的内容,但它没有定义,也厌倦了var=newKey=trainDatabase.ref.push(newTrain).key,但它创建了to对象,而我得到了一个密钥 // Creates local "temporary" object for holding employee data var newTrain = { tname: trainName, dest: destinatio

这是我不知道如何为我刚刚在服务器上创建的对象获取密钥的部分?我厌倦了下面的内容,但它没有定义,也厌倦了var=newKey=trainDatabase.ref.push(newTrain).key,但它创建了to对象,而我得到了一个密钥

// Creates local "temporary" object for holding employee data
    var newTrain = {
       tname: trainName,
       dest: destination,
       firstTime: firstTrainTime,
       freq: frequency
     };

    // Uploads train data to the database
    trainDataBase.ref().push(newTrain);

也许有更好的方法,但我用这个方法使它工作:

    // newKey = trainDataBase.ref(newTrain).key
    // console.log("nodeKey" , newKey)
    // Alert
    console.log("train successfully added");

     // Clears all of the text-boxes
    $("#trainName").val("");
    $("#destination").val("");
    $("#firstTrainTime").val("");
    $("#frequency").val("");

     // Prevents moving to new page
    return false;
    });
查看他们的应用程序,了解执行此操作的其他方法(
更新或删除数据部分):


也尝试过,但没有得到在上随机生成的实际密钥firebase@Nuno1895:调用
ref.push()
适用于2.x SDK,3.x已更改为
ref.key
@FrankvanPuffelen噢,谢谢,编辑答案。非常感谢。
var trainDataBaseRef = trainDataBase.ref().push();
trainDataBaseRef.set({
  id: trainDataBaseRef.key,
  // rest of object data
});
function writeNewPost(...) {
  var postData = {
    // data
  };

  // Get a key for a new Post.
  var newPostKey = firebase.database().ref().child('posts').push().key;

  // Write the new post's data simultaneously in the posts list and the user's post list.
  var updates = {};
  updates['/posts/' + newPostKey] = postData;
  updates['/user-posts/' + uid + '/' + newPostKey] = postData;

  return firebase.database().ref().update(updates);
}