Как исправить случайное число, генерируемое в дочернем столбце БД в Firebase? - PullRequest
0 голосов
/ 09 марта 2020

Итак, я хочу отправить эту веб-форму в firebase, используя скрипт js и живой сервер в Visual Studio. Но после отправки есть дочерний столбец со случайными числами, такими как this . Я хочу дать значение столбцу имени "lakshan" для этого столбца. Как мне это сделать?

Текущий результат - сообщений - Объект
Я хочу сообщений как массив

Это код js

// Initialize Firebase (ADD YOUR OWN DATA)


  var firebaseConfig = {
    apiKey: "api key here",
    authDomain: "test-a137f.firebaseapp.com",
    databaseURL: "https://test-a137f.firebaseio.com",
    projectId: "test-a137f",
    storageBucket: "test-a137f.appspot.com",
    messagingSenderId: "id here",
    appId: "appId goes here",
    measurementId: "the measurementId"
  };

  firebase.initializeApp(firebaseConfig);
  firebase.analytics();



// Reference messages collection
var messagesRef = firebase.database().ref('Admins');

// Listen for form submit
document.getElementById('contactForm').addEventListener('submit', submitForm);

// Submit form
function submitForm(e){
  e.preventDefault();

  // Get values
  var name = getInputVal('name');
  var company = getInputVal('company');
  var email = getInputVal('email');
  var phone = getInputVal('phone');
  var message = getInputVal('message');

  // Save message
  saveMessage(name, company, email, phone, message);

  // Show alert
  document.querySelector('.alert').style.display = 'block';

  // Hide alert after 3 seconds
  setTimeout(function(){
    document.querySelector('.alert').style.display = 'none';
  },3000);

  // Clear form
  document.getElementById('contactForm').reset();
}

// Function to get get form values
function getInputVal(id){
  return document.getElementById(id).value;
}

// Save message to firebase
function saveMessage(name, company, email, phone, message){
  var newMessageRef = messagesRef.push();
  newMessageRef.set({
    name: name,
    company:company,
    email:email,
    phone:phone,
    message:message
  });
}

Ответы [ 2 ]

0 голосов
/ 09 марта 2020

Вот как я хотел. Спасибо, Рено;)

var childNode = name;  
  // Or var childNode = 'Alex';
  // Or var childNode = 'Denis';

  messagesRef.child(childNode).set({
    name: name,
    company:company,
    email:email,
    phone:phone,
    message:message
  });
0 голосов
/ 09 марта 2020

Случайное число, которое вы получаете, является уникальным ключом, сгенерированным методом push().

Если вы хотите использовать свой собственный ключ, вам нужно использовать set() метод следующим образом:

  var messagesRef = firebase.database().ref('Admins');

  var childNode = 'lakshan';  
  // Or var childNode = 'Alex';
  // Or var childNode = 'Denis';

  messagesRef.child(childNode).set({
    name: name,
    company:company,
    email:email,
    phone:phone,
    message:message
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...